MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Meteor Upsert-Äquivalent

UPDATE:@Thomas4019 weist darauf hin, dass upsert wird jetzt unterstützt:

v0.6.6

"Upsert-Unterstützung hinzufügen. Collection.update unterstützt jetzt die Option {upsert:true}. Fügen Sie zusätzlich eine Collection.upsert-Methode hinzu, die die neu eingefügte Objekt-ID zurückgibt, falls zutreffend."

Quelle:History.md

Nutzungsdokumentation:http://docs.meteor.com/#upsert

-- ursprüngliche Antwort folgt --

Auf der Trello Meteor-Roadmap gibt es eine Karte, über die Sie abstimmen können, um ihre Bedeutung für Sie anzuzeigen:https:// trello.com/c/C91INHmj

Es befindet sich derzeit in der "Später"-Liste, was bedeutet, dass es eine Weile dauern wird, bis es implementiert wird, es sei denn, es erhält viele Stimmen.

Die andere wichtige Sache, die Sie beachten sollten, ist, dass Sie die notwendigen Änderungen selbst implementieren und zurücksenden könnten, da Meteor Open Source ist.

Es gibt mehrere Lösungen, aber welche für Ihren Anwendungsfall am besten geeignet ist, ist ohne weitere Kenntnisse Ihres Designs nicht zu sagen.

  1. Verwenden Sie den Code so, wie er ist, fügen Sie der Sammlung einen eindeutigen Index hinzu und behandeln Sie den Fehler wegen doppelter Schlüssel, falls/wenn er auftritt

  2. Design ändern, um explizite optimistische Parallelität zu implementieren.

Der Kern dieser beiden Lösungen ist derselbe, behandeln Sie den Fehlerfall elegant. #1 ist einfacher umzusetzen. #2 ermöglicht eine größere Flexibilität bei der Handhabung der optimistischen Parallelität.