【发布时间】:2012-06-26 01:58:52
【问题描述】:
如何在 mongoDB 中进行此查询?
{
_id: "*******"
内容:“”,
cmets: [
{
key1: "1",
key2:“2”
},
{
key1: "sdfs",
key2:“sdfasdf”
}
]
}
例如,我使用如下数据。我想查询条件 {key1: 1, key2: 2} 的 cmets 中的项目,而不是返回整条记录。
我该怎么办?
【问题讨论】:
标签: mongodb
如何在 mongoDB 中进行此查询?
{
_id: "*******"
内容:“”,
cmets: [
{
key1: "1",
key2:“2”
},
{
key1: "sdfs",
key2:“sdfasdf”
}
]
}
例如,我使用如下数据。我想查询条件 {key1: 1, key2: 2} 的 cmets 中的项目,而不是返回整条记录。
我该怎么办?
【问题讨论】:
标签: mongodb
你可以试试这个
{ "comments.key1" : "1", "comments.key2" : "sdfasdf" }
只有在数组元素中必须匹配多个字段时才需要使用它。
【讨论】:
您可以使用$elemMatch 查询两个字段的子文档:
{ comments: { $elemMatch : { key1: 1, key2: 2 } } }
You cannot return just the selected subdocument。你会得到所有的。因此,您必须在客户端进行过滤。 (当然,您可以排除主文档的所有其他字段)。
【讨论】:
$elemMatch!我不知道那件事。是的,那会奏效。正在更新答案。