MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoError:nie można zmienić _id dokumentu

Patrząc na twój błąd mongo, problemem nie jest mongo, ale po prostu robienie tego, co ma robić. Miał obiekt z _id typu ObjectId:ObjectId ('xxx'), a teraz próbujesz zmienić ten obiekt, aby miał _id typu String (_id:"5083e4a7f4c0c4e270000001") i że Mongo najwyraźniej nie lubi.

Tak więc pytanie brzmi:dlaczego obiekt miał w pierwszej kolejności identyfikator typu ObjectId? Jak ustawiłeś to za pierwszym razem? Jeśli użyłeś innej metody do jej inicjalizacji (zgaduję, że po stronie serwera), powinieneś ustawić typ id na String, aby był taki sam, jak ten pochodzący z twojej biblioteki skryptów. Jeśli chcesz, aby pozostał on ObjectId, musisz przekonwertować String pochodzący ze skryptu na ObjectId, zanim zapiszesz go w Mongo.

HTH.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak używać $query, $hint lub $explain z Javy

  2. Używasz JSON z MongoDB?

  3. Jak obliczyć odległość trasy między wieloma punktami GeoJSON w MongoDB?

  4. $przeglądać wiele poziomów bez $unwind?

  5. Wyświetlanie listy użytkowników dla określonej bazy danych za pomocą PyMongo