sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongoose Guardó _id'ss como una cadena en lugar de ObjectId

Esta es una pregunta bastante específica, pero si alguien se topa con un problema similar, mi problema fue que escribí un archivo con todos mis documentos como json para usar mongoimport en un servidor remoto.

El problema era que JSON.stringify() convertiría un objectId en una cadena. Para solucionarlo, escribí un pequeño script para recorrer todos los objetos en mi matriz de usuarios y convertir todos los _id de nuevo en objectId con el siguiente comando:

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

Luego llamé a Model.create() en mi modelo mongoose con los documentos actualizados para insertarlos en masa y eliminé los documentos originales