好的,我在我的数据库中有这个文档结构:
Message: {
uid: "id",
subject: "I AM A MESSAGE!",
body: "ASDF",
recipients: {
name: "John Doe",
hasRead: "true"
}
}
如何使用C#驱动程序为只有John Doe收到的项目编写查询?我正在使用MongoDB驱动程序v1.3.1。
答案 0 :(得分: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"));