MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Ekwiwalent upsert meteoru

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.

  1. 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

  2. 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.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy mogę łatwo zwrócić wszystkie pola poddokumentu jako pola w dokumencie najwyższego poziomu za pomocą struktury agregacji?

  2. Ponowne próbkowanie danych szeregów czasowych za pomocą JavaScript i Mongodb

  3. Otrzymuję błąd podczas instalacji MongoDB na RedHat

  4. Jak napisać zapytanie Mongo, aby znaleźć poddokument z warunkiem

  5. Jak zwrócić ObjectId lub _id dokumentu w MongoDB? a błąd $in wymaga tablicy