我有mongodb集合,其中包含
等数据 var data = [
{
name: 'test1',
attributes: [
{
name: 'color',
value: 'red'
},
{
name: 'size',
value: 'L'
}
]
},
{
name: 'test2',
attributes: [
{
name: 'color',
value: 'blue'
},
{
name: 'size',
value: 'S'
}
]
},
{
name: 'test3',
attributes: [
{
name: 'color',
value: 'red'
},
{
name: 'size',
value: 'S'
}
]
}
如何查询数据库,以便返回匹配属性名称' color'有价值的红色'和属性名称' size'有价值' L'?
表示应该返回
var output = [
{
name: 'test1',
attributes: [
{
name: 'color',
value: 'red'
},
{
name: 'size',
value: 'L'
}
]
}
答案 0 :(得分:2)
您可以在$and
查询中使用find
运算符。
db.collection.find({$and:[{"attributes.name":"color","attributes.value":"red"},
{"attributes.name":"size","attributes.value":"L"}]})