sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose Uložil _id'ss jako řetězec namísto ObjectId

Toto je docela specifická otázka, ale pokud někdo náhodou narazí na podobný problém, můj problém byl v tom, že jsem napsal soubor se všemi svými dokumenty jako json pro použití mongoimport na vzdáleném serveru.

Problém byl v tom, že JSON.stringify() převede objectId na řetězec. Abych to napravil, napsal jsem jen malý skript, který projde všechny objekty v poli uživatelů a převede všechna _id zpět na objectId pomocí následujícího příkazu:

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

Poté volání Model.create() na mém modelu mongoose s aktualizovanými dokumenty k hromadnému vložení a odstranění původních dokumentů




  1. Mapreduce v nativním ovladači mongodb ruby

  2. Jak mohu najít vložené dokumenty Mongoid na základě více kritérií?

  3. Aktualizujte pole hodnotou jiného pole v dokumentu

  4. MongoDB:upsert, když arrayFilters nemůže najít shodu