我有一个包含嵌套数组数据的文档。我试图绝望地使用$elemMatch
过滤数据,但我无法弄清楚它为什么不起作用。用elemMatch查询嵌套数组数据的MongoDB查询
{
'id' : 1,
'name' : 'test',
'modules' : [
{
name: 'foo',
mandatory: false,
group: [
{
name: g1
}]
},
{
name: 'bar',
mandatory: false,
group: [
{
name: g2
}]
}]
}
我尝试使用此查询:
db.test.find(
{
modules: {
$elemMatch: {
name: "foo",
}
}
}
但它一直返回所有模块。如果我使用mandatory: true
,它不会返回任何内容,这似乎表明它有效。任何想法我做错了什么?谢谢!
查询是非常简单的,但更新呢? –