我有一个带有array属性的mongo集合,数组中有“空”对象。我可以使用什么查询来针对这些只有{}的非空数组?
我试过把$exists
和$where
组合在一起,但都没有用。
我需要瞄准的数据示例:
"arrayProperty" : [ {} ]
和
"arrayProperty" : [ {}, {} ]
编辑:
下面是模式的一个示例:
{
"_id" : ObjectId("53b1ca583d597ce7cbd54646"),
"arrayProperty" : [
{
"serialNumber" : "abc123",
"rfid" : "xyz098",
"size" : 95,
"points" : 50,
"frequency" : "Every day",
"dateAssigned" : ISODate("2011-02-10T15:27:39.000Z")
}
]
}
最佳答案
如果您要查找arrayProperty
至少包含一个{}
的文档,则它只是:
db.collection.find({ arrayProperty: {} })
如果要查找
arrayProperty
只包含一个或两个{}
的文档:db.collection.find({ arrayProperty: {$in: [ [{}], [{}, {}] ] } })