1

如何在 mongoDB 中进行此查询?

{

_ID: ”*******”

内容: ””,

注释: [

{

键1:“1”,

键2:“2”

},

{

键1:“sdfs”,

键2:“sdfasdf”

}

]

}

例如,我使用如下数据。我想查询条件{key1:1,key2:2}的评论中的项目,而不是返回整条记录。

我应该怎么办?

4

2 回答 2

3

你可以试试这个

{ "comments.key1" : "1", "comments.key2" : "sdfasdf" }

只有在数组元素中必须匹配多个字段时才需要使用它。

于 2012-06-26T08:24:17.587 回答
1

您可以使用以下方法查询两个字段的子文档$elemMatch

{ comments: { $elemMatch : { key1: 1, key2: 2 } } }

您不能只返回选定的子文档。你会得到所有的。因此,您必须在客户端进行过滤。(当然,您可以排除主文档的所有其他字段)。

于 2012-06-26T02:09:23.673 回答