Dopo quanto tempo il comando upsert essere implementata in Meteor?
UPDATE: @Thomas4019 ricorda che upsert
è ora supportata:
v0.6.6
"Aggiungi upsert supporto Collection.update ora supporta il {upsert: true}.. Inoltre opzione, aggiungere un Metodo Collection.upsert che restituisce l'ID oggetto appena inserito, se applicabile. "
Fonte: History.md
documentazione Uso: http://docs.meteor.com/#upsert
- risposta iniziale segue -
C'è una carta sul Trello Meteor tabella di marcia che si può votare per indicare la sua importanza per te : https://trello.com/c/C91INHmj
E 'attualmente nella lista "Più tardi" il che significa che ci vorrà un po' prima che venga implementato a meno che non riceva molti voti.
L'altra cosa importante da notare è che poiché meteor è open-source, è possibile implementare le modifiche necessarie da soli e inviare di nuovo.
Qual è il modo migliore per fare la stessa cosa nel frattempo?
Esistono diverse soluzioni, ma che è più appropriato per l'uso: il caso è impossibile da dire senza una maggiore conoscenza del progetto.
utilizzare il Codice come è, aggiungere un indice unico per la raccolta, e gestire l'errore di chiave duplicata se/quando sorge
modifica di progettazione per implementare esplicitamente concorrenza ottimistica.
Il nucleo di entrambe queste soluzioni è lo stesso, gestisce con grazia il caso di errore. Il primo è più semplice da implementare. # 2 consente una maggiore flessibilità nel modo in cui viene gestita la concorrenza ottimistica.
con la soluzione, notare che se due client separati eseguire il findOne(), allo stesso tempo, poi due documenti con '{title: 'Foo'}' volontà essere creato. –
Vero, quindi l'implementazione di un meteorite di upsert sarebbe l'ideale. Poiché se due client eseguono upsert con gli stessi dati, creano singoli documenti sul db simulato del loro cliente; quindi meteor sincronizza i due documenti quando vengono eseguiti sul server. Potrebbe diventare un po 'peloso, però ... Capisco perché non è ancora implementato. – tom