2013-09-25 101 views
1

行,所以我有我的數據庫中該文件的結構:如何在MongoDB中查詢文檔中的文檔?

Message: { 
    uid: "id", 
    subject: "I AM A MESSAGE!", 
    body: "ASDF", 
    recipients: { 
     name: "John Doe", 
     hasRead: "true" 
    } 
} 

如何使用C#驅動程序編寫只李四收到物品查詢?我正在使用MongoDB驅動程序v1.3.1。

回答

2

在shell,查詢將

db.Message.find({"recipients.name" : "John Doe"}); 

的C#查詢取決於你使用C#中的數據結構。我很生氣,recipients是複數,但json不是數組。由於將C#集合映射到JSON有不同的方式,因此我無法以linq格式顯示C#查詢。

然而,鑑於您發佈的數據結構,這應該工作:

db.GetCollection("Message").Find(Query.EQ("recipients.name", "John Doe")); 
+0

謝謝!最終查詢正是我最終做到的。 'recipients'是複數的原因是它應該是一個列表,每個元素都有'name'和'hasRead'屬性。對不起,如果我沒有在我的例子中說清楚。感謝您的回答! – jayjyli