1

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

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

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

4

1 回答 1

2

在外壳中,查询将是

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"));
于 2013-09-26T07:21:57.723 回答