繁体   English   中英

使用C#mongo驱动程序执行复杂的mongo JSON查询

[英]Execute complex mongo JSON query using C# mongo driver

我有以下mongo shell查询:

{'field':'FieldOne','value':'FieldOne','category':'categoryOne'} , { 'Color' : { '$elemMatch' : { 'Value' : 'Green' } }}

有没有办法使用C#mongo驱动程序执行相同的查询? 我尝试使用下面的C#代码,但只有第一个执行:

 BsonDocument query = BsonDocument.Parse("{'field':'Overall','value':'Overall','category':'LoggedIncidents'} , { 'Priority' : { '$elemMatch' : { 'Value' : 'P1' } }}");
 QueryDocument queryDoc = new QueryDocument(query);
 var result = collection.Find(queryDoc).ToListAsync().Result;

第一项( {'field':'FieldOne','value':'FieldOne','category':'categoryOne'} )正在执行但不是第二项( { 'Color' : { '$elemMatch' : { 'Value' : 'Green' } }} )。

如果我没错,你在find命令中使用它。 第一个“{}”是find的过滤条件。 下一组参数主要是显示/隐藏您需要的字段。 因此,如果您想按数组“绿色”的值进行过滤,则可以执行此操作。

 db.objects.find({"color":{$elemMatch:{value:"green"}}})

应该给你你想要的结果。 但如果你想专门显示/隐藏字段,你可以这样做

 db.objects.find({"color":{$elemMatch:{value:"green"}}},{"field":1})

这是你想要达到的目标吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM