[英]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.