Rozumiem, że nie można aktualizować _id na istniejącym dokumencie mongodb.Aktualizacja Mongodb. setOnInsert Mod on _id not allowed
Ale czy istnieje powód, dla którego nie możemy użyć go w upsert w części 'setOnInsert'? Ponieważ jest "na wkładce", więc nie jest aktualizacją.
Moja oczekiwane wykorzystanie jest taka:
db.myCol.update({_id:12345},{$setOnInsert:{_id:12345},$set:{myValue:'hi'}});
Jest to błąd albo ja czegoś brakuje?
gdzie jest flaga upsert? po prostu wyłącz opcję setOnInsert, a właściwa rzecz się wydarzy. db.myCol.update ({_ id: 12345}, {$ set: {myValue: 'hi'}}) –
Tak, masz rację, zapomniałem dołączyć flagi upsert. Wygląda na to, że automatycznie włącza część znalezienia do wstawki, jeśli jest to upsert. Dzięki :) –
dokładnie. Czy chcesz napisać to jako odpowiedź, czy też powinienem? –