我是Mongo的新手,在构建查询时遇到问题!
数据:
{
"_id" : 1,
"ActiveState" : {
"_id" : 1,
"Products" : [
{
"ProductId" : 17,
"Active" : true,
{
"ProductId" : 17,
"Active" : false,
},
{
"ProductId" : 19,
"Active" : true
},
{
"ProductId" : 19,
"Active" : false,
},
],
},
},
{
"_id" : 2,
"ActiveState" : {
"_id" : 1,
"Products" : [
{
"ProductId" : 17,
"Active" : true,
{
"ProductId" : 17,
"Active" : true,
},
{
"ProductId" : 19,
"Active" : true
},
{
"ProductId" : 19,
"Active" : false,
},
],
},
}
查询:
db.getCollection('Asset')。find({$ and:[{'ActiveState.Products.ProductId':17,'ActiveState.Products.Active':true}]})
查询意图: 我想在满足以下条件的Products数组中找到该对象具有多个对象的所有实例:
ActiveState.Products.ProductId = 17 AND ActiveState.Products.Active = true;
我只希望返回对象_id:2,因为它有两个ProductProduct 17和Active true的产品。
非常感谢