i Sammlung in so genannt haben 'Test' ist ein Dokument, wie:Suche verschachtelte Array-Elemente in mongodb
{
"_id" : 1
"letters" : [
[ "A", "B" ],
[ "C", "D" ],
[ "A", "E", "B", "F" ]
]
}
wenn ich so suchen:
db.getCollection('test').find({"_id" : 1}, {"letters": ["A", "B"] })
dann wird es den Rekord holen .
{
"_id" : 1
"letters" : [
[ "A", "B" ],
[ "C", "D" ],
[ "A", "E", "B", "F" ]
]
}
wenn ich so suchen:
db.getCollection('test').find({"_id" : 1}, {"letters": ["B", "A"] })
es nicht den Rekord nicht holen
mein requirment ist, wenn im wie diese gibt auch ([ "B", "A"]), muss es das Dokument holen. Weil die gleichen Buchstaben bereits im Array vorhanden sind.
werde ich alle Betreiber mit $ versuchen, aber es funktioniert auch den Rekord jemand nicht
db.getCollection('test').find({"_id" : 1}, {"letters": {$all: ["B", "A"]} })
jetzt ist es nicht bitte die Lösung geben kann
könnte holen wird.
Wenn Sie update verwenden, ist dieser zweite Parameter nicht Ihre Bedingung –
OP: Sie haben hier zwei verschiedene Dinge vor sich: Update und Abfrage. Vielleicht können Sie sie trennen und Ihre gewünschte Ausgabe beschreiben? –
überprüfen Sie dies [wie Reihenfolge der Array mit Mongodb ändern] (https://stackoverflow.com/questions/35810951/how-to-change-order-of-array-with-mongodb) – godsenal