Capisco il fatto che non è possibile aggiornare _id su un documento mongodb esistente.Aggiornamento Mongodb. setOnInsert Mod on _id non consentito
Ma c'è un motivo per cui non possiamo usarlo in un upsert nella parte 'setOnInsert'? Perché è "su inserto" quindi non è un aggiornamento.
mio utilizzo previsto è questo:
db.myCol.update({_id:12345},{$setOnInsert:{_id:12345},$set:{myValue:'hi'}});
È questo un bug o mi sto perdendo qualcosa?
dov'è la bandiera di upsert? lascia setOnInsert e la cosa giusta accadrà. db.myCol.update ({_ id: 12345}, {$ set: {myValue: 'hi'}}) –
Sì hai ragione ho dimenticato di includere la bandiera di upsert. Apparentemente include automaticamente la parte di ricerca per l'inserto se è un upsert. Grazie :) –
esattamente. vuoi scriverlo come risposta o dovrei? –