Sagen wir die folgende Sammlung von Dokumenten haben:ein einzelnes Objekt aus einem Array von Objekten in MongoDB Löschen
{ "_id" : ObjectId("50a69fa904c8310609600be3"), "id" : 100, "city" : "San Francisco", "friends" : [ { "id" : 1, "name" : "John" }, { "id" : 2, "name" : "Betty" }, { "id" : 3, "name" : "Harry" } ] }
{ "_id" : ObjectId("50a69fc104c8310609600be4"), "id" : 200, "city" : "Palo Alto", "friends" : [ { "id" : 1, "name" : "Carol" }, { "id" : 2, "name" : "Frank" }, { "id" : 3, "name" : "Norman" } ] }
{ "_id" : ObjectId("50a69fc304c8310609600be5"), "id" : 300, "city" : "Los Angeles", "friends" : [ { "id" : 1, "name" : "Fred" }, { "id" : 2, "name" : "Neal" }, { "id" : 3, "name" : "David" } ] }
.
.
.
Lassen Sie uns jetzt sagen, dass Frank (Palo Alto, id = 2) ist nicht mehr mein Freund, und Ich möchte ihn aus der Sammlung löschen. Ich dachte, das folgende könnte funktionieren, aber es funktioniert nicht:
db.test.update({"city":"Palo Alto"},{"$pull":{"friends.name":"Frank"}})
Ich möchte in der Lage sein, so etwas zu tun. Löschen Sie ein Objekt innerhalb eines Arrays in einer Sammlung von Dokumenten. Wie machst Du das?
Danke! Ich hätte stundenlang mit dem Kopf geschlagen, um das herauszufinden. –