Come si può fare questo con Mongo in una [atomica] dichiarazione:MongoDB: inserire aggiornata chiave duplicata
insert mytable set MyUniqueKey = ?, X = ? on duplicate key update Y = ?
Quando questa istruzione viene eseguita per la prima volta sarà impostare il valore di X, ma dopo che si aggiornerà solo Valore Y
Solo MyUniqueKey è parte della chiave univoca e deve essere cercata per i duplicati.
Questo problema è stato chiuso in MongoDB 2.4 e ora puoi usare ['$ setOnInsert'] (http://docs.mongodb.org/manual/reference/operator/setOnInsert /). – str