如何在MongoDB中查询文档中的文档?

时间:2013-09-25 20:34:13

标签: c# asp.net-mvc-3 mongodb mongodb-.net-driver mongodb-query

好的,我在我的数据库中有这个文档结构:

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

如何使用C#驱动程序为只有John Doe收到的项目编写查询?我正在使用MongoDB驱动程序v1.3.1。

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"));