ich Objekte in meiner Sammlung haben, die wie folgt aussehen:MongoDB Abfrage Array mit Nullwerten
{ MyArray:[null, "some value", null] }
ich diese Objekte abfragen möchten, die einen Nullwert als ein Array-Element haben. Die Abfrage
db.collection.find({"MyArray":null})
funktioniert nicht, es scheint nur die Objekte zu finden, bei denen MyArray null ist, z.
{ MyArray:null }
Wie muss ich meine Abfrage definieren?
EDIT: Bitte sehen eine meiner realen Objekte:
{
"_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
]
}
Und dann abfragen ich nach:
db.collection.find({"Attrs":null})
, die keine Ergebnisse liefert.
'> db.collection.find ({" MyArray ": null})' gibt '{" _id ": ObjectId (" 513da72088ba1cdba2745f1e ")," MeinArray ": [null," irgendein Wert ", null]} '. Wie erwartet...? –
Abfrage sollte funktionieren. Zeige dir echte Daten und frage pls. –
Zu meiner Frage wurden echte Daten und eine Abfrage hinzugefügt. – Max