MongoDb query array with null values

mongodb

Solution

Ok, I figured it out by loading my "null" candidates via my C# driver and it turns out that the values are not null, but Bson Undefined!! They are displayed as "null" in the shell! See http://jira.mongodb.org/browse/SERVER-2426. This works:

`db.xxx.find({"Attrs":{$type:6}})`

Problem

I have objects in my collection that look like: ``` { MyArray:[null, "some value", null] } ``` I want to query those objects that have a null value as an array element. The query ``` db.collection.find({"MyArray":null}) ``` does not work, it seems to find only the objects with MyArray being null, e.g. ``` { MyArray:null } ``` How do I need to define my query? EDIT: Please see one of my real objects: ``` { "_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 ] } ``` And then I query by: ``` db.collection.find({"Attrs":null}) ``` which yields no results.

Original source