sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose Gemte _id's som en streng i stedet for ObjectId

Dette er et ret specifikt spørgsmål, men hvis nogen tilfældigvis falder over et lignende problem, var mit problem, at jeg skrev en fil med alle mine dokumenter som en json for at bruge mongoimport på en fjernserver.

Problemet var, at JSON.stringify() vil konvertere et objectId til en streng. For at rette op på det skrev jeg bare et lille script til at gå gennem alle objekterne i min bruger-array og konvertere alle _id'er tilbage til objectId'er med følgende kommando:

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

Kalde derefter Model.create() på min mongoose-model med de opdaterede dokumenter til masseindsættelse og slettede de originale dokumenter




  1. Hvorfor få fejlen mongod død, men subsys låst og utilstrækkelig ledig plads til journalfiler på Linux?

  2. Geospatial $nær inden for den aktuelle dokumentfeltværdi

  3. Sådan defineres objekt i array i Mongoose-skema korrekt med 2d geo-indeks

  4. Luk mongooses forbindelse korrekt, når du er færdig