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

MongoDB nie może zaktualizować dokumentu, ponieważ _id to ciąg, a nie ObjectId

Ponieważ nie możesz modyfikować _id pole, lepszym podejściem jest po prostu usunięcie tego pola z mapy obiekt zamiast konwertować go na ObjectId.

Więc to:

delete map._id;

zamiast tego:

map._id = new ObjectID.createFromHexString( map._id);

Jeśli chcesz zwrócić zaktualizowany obiekt, tak jak próbujesz, za pomocą res.send(map); , powinieneś używać findAndModify zamiast aktualizacji dzięki czemu masz dostęp do powstałego dokumentu, a nie tylko tego, co zostało opublikowane.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB agreguje pola bez wcześniejszej znajomości wszystkich pól

  2. Co jest zwracane z zapytania Mongoose, które nie znajduje dopasowań?

  3. Nie można połączyć się z mongoDB uruchomioną w kontenerze docker

  4. Wersjonowanie obiektów Java MongoDB

  5. Pobierz zaktualizowany dokument w MongoDB