Ich habe eine Sammlung in MongoDB. Und möchte ein Element aus dem Array entfernen.
Meine Sammlung "Benutzer" ist eine Reihe von Objekten.
Wenn ich tippe:
db.users.find({"tasks.task_id" : "h58sjIdj3jJZ"}).pretty()
in Mongo Shell, erhalte ich dieses Ergebnis:
{
"_id" : ObjectId("5955b45b7a4bf40544019359"),
"profile" : {
"name" : "Morning bay",
"email" : "[email protected]",
"phone" : "+1-641-155-88-84",
"description" : "Lorem ipsum dolor sit amet, consectetur adipisicing elit"
},
"tasks" : [
{
"task_id" : "h58sjIdj3jJY",
"time" : "11:15 AM",
"date" : "07/01/2017",
"description" : "Make 1st call to John White"
},
{
"task_id" : "h58sjIdj3jJZ",
"time" : "14:30 PM",
"date" : "07/09/2017",
"description" : "Send certificate and make Another call to J.White"
}
],
"progress" : [
{
"isActive" : "",
"description" : ""
}
]
}
Also, jedes Element in meiner Sammlung wie folgt aussieht. Und es ist in Ordnung.
Aber jetzt möchte ich ein Element aus "Aufgaben" -Array in einem der Benutzer Elemente entfernen.
I-Typ:
db.users.update({}, {$pull : {"tasks" : {"task_id" : "h58sjIdj3jJZ"}}});
ein um dieses Ergebnis zu erhalten:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
Ich las Dokumentation und Beispiele in sie ähnlich aussehen, so verstehe ich nicht, wo ein Fehler ist.
Es sollte funktioniert. Was ist deine Mongodb-Version? –
Können Sie {multi: true} als drittes Argument Ihres Updates hinzufügen? 'db.users.update ({}, {$ pull: {" Aufgaben ": {" Aufgaben_ID ":" h58sjIdj3jJZ "}}}, {multi: true});' –
bereits versucht, aber es hilft nicht – alexfrize