AKTUALIZACJA:@Thomas4019
wskazuje, że upsert
jest teraz obsługiwany:
wersja 0.6.6
"Dodaj obsługę upsert. Collection.update obsługuje teraz opcję {upsert:true}. Dodatkowo dodaj metodę Collection.upsert, która zwraca nowo wstawiony identyfikator obiektu, jeśli ma to zastosowanie."
Źródło:Historia.md
Dokumentacja użytkowania:http://docs.meteor.com/#upsert
-- następuje oryginalna odpowiedź --
Na mapie drogowej Trello Meteor znajduje się karta, na którą możesz głosować, aby wskazać jej znaczenie dla Ciebie:https:// trello.com/c/C91INHmj
Obecnie znajduje się na liście „Później”, co oznacza, że minie trochę czasu, zanim zostanie zaimplementowane, chyba że otrzyma dużo głosów.
Inną ważną rzeczą, na którą należy zwrócić uwagę, jest to, że ponieważ meteor jest oprogramowaniem typu open source, możesz samodzielnie wprowadzić niezbędne zmiany i przesłać je z powrotem.
Istnieje kilka rozwiązań, ale bez większej wiedzy na temat projektu nie da się określić, które jest najbardziej odpowiednie dla danego przypadku użycia.
-
Użyj kodu w takim stanie, w jakim jest, dodaj unikalny indeks do kolekcji i obsługuj błąd zduplikowanego klucza, jeśli/kiedy wystąpi
-
Zmień projekt, aby wdrożyć wyraźną optymistyczną współbieżność.
Rdzeń obu tych rozwiązań jest taki sam, z wdziękiem obsługuj przypadek błędu. #1 jest łatwiejszy do wdrożenia. #2 pozwala na większą elastyczność w obsłudze optymistycznej współbieżności.