Sie können es nicht aktualisieren, aber Sie können die neue ID speichern und die alte löschen. Befolgen Sie einige Schritte, um die _id von MongoDB zu aktualisieren. Die Schritte sind wie folgt:
Schritt 1: Im ersten Schritt müssen Sie die ObjectId in einer Variablen speichern.
anyVariableName=db.yourCollectionName.findOne({_id:yourObjectIdValue)});
Schritt 2: Im zweiten Schritt müssen Sie eine neue ID festlegen.
yourDeclaredVariableName._id=yourNewObjectIdValue;
Schritt 3: Im dritten Schritt müssen Sie den neuen Ausweis in das Dokument einfügen.
db.yourCollectionName.insert(yourDeclaredVariableName);
Schritt 4: Im vierten Schritt müssen Sie die alte ID löschen.
db.yourCollectionName.remove({_id:yourOldObjectIdValue)});
Um die oben genannten Schritte zu verstehen, erstellen wir eine Sammlung mit Dokumenten. Die Abfrage zum Erstellen einer Sammlung mithilfe von Dokumenten lautet wie folgt:
> db.updateIdDemo.insertOne({"StudentName":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfec6fd07954a4890683") } > db.updateIdDemo.insertOne({"StudentName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebff66fd07954a4890684") } > db.updateIdDemo.insertOne({"StudentName":"Maxwell"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfff6fd07954a4890685") }
Zeigen Sie alle Dokumente in der Sammlung mithilfe der Methode find() an. Die Abfrage lautet wie folgt:
> db.updateIdDemo.find().pretty();
Hier ist die Ausgabe:
{ "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } { "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" }
Das Folgende ist die Abfrage zum Aktualisieren der _id eines MongoDB-Dokuments:
Step1: > myId=db.updateIdDemo.findOne({_id:ObjectId("5c6ebfec6fd07954a4890683")}); { "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } Step 2: > myId._id=ObjectId("5c6ebfec6fd07954a4890689"); ObjectId("5c6ebfec6fd07954a4890689") Step 3: > db.updateIdDemo.insert(myId); WriteResult({ "nInserted" : 1 }) Step 4: > db.updateIdDemo.remove({_id:ObjectId("5c6ebfec6fd07954a4890683")}); WriteResult({ "nRemoved" : 1 })
Lassen Sie uns überprüfen, ob die _id aktualisiert wurde. Zeigen Sie alle Dokumente in der Sammlung mit Hilfe der find()-Methode an:
> db.updateIdDemo.find().pretty();
Hier ist die Ausgabe:
{ "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" } { "_id" : ObjectId("5c6ebfec6fd07954a4890689"), "StudentName" : "Robert" }
Wenn Sie sich die Beispielausgabe ansehen, hat sich die _id von "StudentName":"Robert" geändert.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich die _id eines MongoDB-Dokuments?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!