【发布时间】:2013-02-26 10:18:33
【问题描述】:
我的收藏中有一些看起来像这样的对象:
{ MyArray:[null, "some value", null] }
我想查询那些具有空值作为数组元素的对象。查询
db.collection.find({"MyArray":null})
不起作用,它似乎只找到 MyArray 为空的对象,例如
{ MyArray:null }
我需要如何定义我的查询?
编辑:请看我的一个真实对象:
{
"_id" : BinData(3,"ch9PrWveqU6niB6FGVhIOg=="),
"PeerGroup" : "male",
"ProductId" : BinData(3,"weRiKOtXEUSDZHkGHLcwzw=="),
"CategoryIds" : [
BinData(3,"BXzpwVQozECLaPkJy26t6Q=="),
BinData(3,"ox303ZeM50KelvoUbPBJ8Q=="),
BinData(3,"26ziaY+G9UKMyjmtVkkhcg=="),
BinData(3,"D2X8vObte0eJHNcDfp2HBw==")
],
"ShopId" : BinData(3,"ZdfPmrlKR0GkLPC4djJuKw=="),
"BrandId" : BinData(3,"kCHyuyLvgECxPF1nxwr7qQ=="),
"Created" : ISODate("2012-08-24T07:42:12.416Z"),
"LastActivity" : ISODate("2013-01-14T19:38:11.776Z"),
"Price" : 129.9,
"Sale" : false,
"Rating" : 11.057340703605368,
"RatingTimed" : 0.05670431130054035,
"Available" : null,
"FreeDelivery" : null,
"Attrs" : [
null,
null,
null,
null
]
}
然后我查询:
db.collection.find({"Attrs":null})
没有结果。
【问题讨论】:
-
> db.collection.find({"MyArray":null})给出{ "_id" : ObjectId("513da72088ba1cdba2745f1e"), "MyArray" : [ null, "some value", null ] }。果然……? -
查询应该可以工作。请向您展示真实数据和查询。
-
为我的问题添加了真实数据和查询。
-
我无法重现您的数据和查询问题 - 它可以正常工作 (MongoDB 2.4.1)。你的 MongoDB 版本是多少?
-
如果您能标记我的答案,那就太好了。不想对它粗鲁,但我经常自己回来作为参考:)
标签: mongodb