MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose hat _ids als Zeichenfolge anstelle von ObjectId gespeichert

Dies ist eine ziemlich spezifische Frage, aber falls jemand zufällig auf ein ähnliches Problem stößt, war mein Problem, dass ich eine Datei mit all meinen Dokumenten als json geschrieben habe, um mongoimport auf einem Remote-Server zu verwenden.

Das Problem war, dass JSON.stringify() eine objectId in eine Zeichenfolge umwandelt. Um dies zu beheben, habe ich gerade ein kleines Skript geschrieben, um alle Objekte in meinem Benutzerarray zu durchlaufen und alle _ids mit dem folgenden Befehl wieder in objectIds umzuwandeln:

var mongoose = require('mongoose');
user._id = mongoose.Types.ObjectId(users[i]._id);

Dann Aufruf von Model.create() auf meinem Mungo-Modell mit den aktualisierten Dokumenten zum Masseneinfügen und Löschen der Originaldokumente