Ich bin Neuling mit MongoDB habe ich ein Dokument mit dieser Struktur:Search Element in indiziertes Array
{
"_id": "570a38612959856808fe9b1d",
"author": "foo",
"books": {
"570a385737000012009e6f65": {
"title": "a1",
"status": "published"
},
"570a385737000012009e6f66": {
"title": "a2",
"status": "pending"
},
"570a385737000012009e6f67": {
"title": "a1",
"status": "published"
}
}
}
wie kann ich für alle Autoren suchen, die Bücher sind anhängig? habe ich versucht, so etwas wie
{ "books":{$elemMatch:{"status": "pending" }}}
bekam aber nichts
Bei einem solchen Schema, in dem Sie Hash-Schlüssel haben es ziemlich schwierig sein würde, zu fragen, wenn Sie es ändern können, so dass die dynamischen Buch-IDs in einem Array eingebettet sind. – chridam
Sie wollen eigentlich eine Struktur wie '" Bücher ": [{" _id ":" 570a385737000012009e6f65 "," title ":" a1 "," status ":" veröffentlicht "}, {..}]' Was dann für einfach Fragen wie '{" books.status ":" pending "}'. Punkt ist, dass benannte Schlüssel einen "expliziten" Pfad benötigen, aber ohne sie ist der Name des "Pfads" für alle Elemente gleich. –