Comment interroger tous les {"module" : "B"}
?
La requête suivante ne fonctionne pas:
db.XXX.find({ "_id" : { "module" : "B" } });
Merci beaucoup!
Ces données ressemblent à:
{
"_id" : {"module" : "A","date" : ISODate("2013-03-18T07:00:00Z")},
"value" : {"count" : 1.0}
}
{
"_id" : {"module" : "B","date" : ISODate("2013-03-18T08:00:00Z")},
"value" : {"count" : 2.0}
}
Essayer:
db.XXX.find({ "_id.module" : "B" });
La différence est que votre requête initiale tenterait de faire correspondre le sous-document entier (c'est-à-dire où _id est un sous-document contenant un champ "module" avec la valeur "B" et rien d'autre).
Référence: Notation point MongoDB
Pour correspondance exacte sur le sous-document
db.bios.find(
{
'_id.module': 'B'
}
)
la requête utilise la notation dot
pour accéder aux champs d'une subdocument
:
Utilisez la notation par points:
db.XXX.find({ "_id.module" : "B" })