sql >> Database >  >> NoSQL >> MongoDB

MongoDB kan het document niet bijwerken omdat _id een string is, niet ObjectId

Omdat u de _id . niet kunt wijzigen veld, is een betere benadering om dat veld eenvoudig van je kaart te verwijderen object in plaats van het te converteren naar een ObjectId.

Dus dit:

delete map._id;

in plaats van dit:

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

Als u het bijgewerkte object wilt retourneren zoals u probeert met res.send(map); , moet u findAndModify in plaats van update zodat u toegang heeft tot het resulterende document en niet alleen wat er is gepost.




  1. Hoe kan ik nieuwe velden maken van een bestaande string met $Project?

  2. Wat zou het MongoDB C#-stuurprogramma-equivalent zijn van de volgende query met behulp van de array-update-operator $[<identifier>]

  3. Mongoose, sorteer op basis van buitenlandse/bevolkte sleutel

  4. Hoe subdocumenten van een object in een array te retourneren met Meteor en MongoDB