MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Equivalente di Meteor upsert

AGGIORNAMENTO:@Thomas4019 fa notare che upsert è ora supportato:

v0.6.6

"Aggiungi supporto upsert. Collection.update ora supporta l'opzione {upsert:true}. Inoltre, aggiungi un metodo Collection.upsert che restituisce l'ID oggetto appena inserito, se applicabile."

Fonte:History.md

Documentazione sull'utilizzo:http://docs.meteor.com/#upsert

-- segue la risposta originale --

C'è una scheda sulla Roadmap di Trello Meteor su cui puoi votare per indicarne l'importanza per te:https:// trello.com/c/C91INHmj

Attualmente è nell'elenco "Più tardi", il che significa che ci vorrà del tempo prima che venga implementato a meno che non riceva molti voti.

L'altra cosa importante da notare è che, poiché meteor è open source, puoi implementare tu stesso le modifiche necessarie e inviare nuovamente.

Esistono diverse soluzioni, ma è impossibile stabilire quale sia la più appropriata per il tuo caso d'uso senza una maggiore conoscenza del tuo design.

  1. Usa il codice così com'è, aggiungi un indice univoco alla raccolta e gestisci l'errore di chiave duplicata se/quando si verifica

  2. Modifica il design per implementare la concorrenza ottimistica esplicita.

Il nucleo di entrambe queste soluzioni è lo stesso, gestisci con garbo il caso di errore. #1 è più facile da implementare. #2 consente una maggiore flessibilità nel modo in cui viene gestita la concorrenza ottimistica.