【发布时间】:2016-11-25 03:21:09
【问题描述】:
我的数据库集合中有以下对象结构:
{
"name" : "test",
"code" : "test",
"attributes" : [
{
"name" : "test1",
"code" : "code1"
},
{
"name" : "test2",
"code" : "code2",
"value" : true
},
{
"name" : "test3",
"code" : "code3",
"value" : ""
},
{
"name" : "test4",
"code" : "code4"
"value" : [
{
"code" : "code4.1",
"name" : "test4.1"
},
{
"name" : "test4.2"
}
]
}
]
}
所以“value”属性可以是空字符串、布尔值、数组,甚至根本没有定义。
如何查询具有非空属性数组且未在数组内至少一个对象中定义“attributes.value”属性的对象?
附言我尝试了以下查询:
db.collection.find({"attributes": {$exists: true, $ne: []}, "attributes.value": {$exists: false}})
但查询结果为空。
【问题讨论】:
标签: arrays mongodb mongoose mongodb-query