簡體   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