Nel post this, la risposta accettata spiega che non è possibile avere gli stessi campi sotto $set
e $setOnInsert
in un'operazione di upsert.
Qualcuno può spiegare perché questo è? Sembra che lo $setOnInsert
non sia in conflitto con $set
, poiché il primo viene utilizzato quando viene inserito un documento e quest'ultimo viene utilizzato quando il documento viene aggiornato.
Onestamente, non ho una spiegazione del perché questo è il caso ora; Mi piacerebbe vederlo anche implementato. C'è una richiesta di miglioramento, [SERVER-10711] (https://jira.mongodb.org/browse/SERVER-10711), per consentire '$ set' e' $ setOnInsert' a lavorare nello stesso aggiornamento sullo stesso campo . Puoi commentare, guardare e revocare quel problema per aumentarne la priorità. – wdberkeley
grazie per avermelo fatto notare @wdberkeley. sai se c'è una soluzione a questo senza bisogno di due domande? – jtmarmon