sql >> Database >  >> NoSQL >> MongoDB

Mongoose Opgeslagen _id'ss als een string in plaats van ObjectId

Dit is een vrij specifieke vraag, maar als iemand toevallig een soortgelijk probleem tegenkomt, was mijn probleem dat ik een bestand met al mijn documenten als een json schreef om mongoimport op een externe server te gebruiken.

Het probleem was dat JSON.stringify() een objectId naar een string zal converteren. Om het op te lossen schreef ik net een klein script om alle objecten in mijn gebruikersarray te doorlopen en alle _id's terug te converteren naar objectId's met de volgende opdracht:

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

Vervolgens Model.create() aanroepen op mijn mangoestmodel met de bijgewerkte documenten om in bulk in te voegen en de originele documenten verwijderd




  1. MongoDB + Elasticsearch of alleen Elasticsearch?

  2. Waarom hebben we een 'arbiter' nodig in MongoDB-replicatie?

  3. Hoe mongo-commando's uit te voeren via shellscripts? (de mijne doet het niet)

  4. MongoDB geaggregeerde retourtelling van 0 als er geen resultaten zijn