АКТУАЛИЗАЦИЯ:@Thomas4019
посочва, че upsert
вече се поддържа:
v0.6.6
„Добавяне на поддръжка за upsert. Collection.update вече поддържа опцията {upsert:true}. Освен това добавете метод Collection.upsert, който връща идентификатора на нововмъкнатия обект, ако е приложимо.“
Източник:History.md
Документация за употреба:http://docs.meteor.com/#upsert
-- следва оригиналният отговор --
В пътната карта на Trello Meteor има карта, за която можете да гласувате, за да посочите нейната важност за вас:https:// trello.com/c/C91INHmj
В момента е в списъка „По-късно“, което означава, че ще мине известно време, преди да бъде внедрен, освен ако не получи много гласове.
Другото важно нещо, което трябва да се отбележи, е, че тъй като meteor е с отворен код, можете сами да внедрите необходимите промени и да изпратите обратно.
Има няколко решения, но кое е най-подходящото за вашия случай на употреба е невъзможно да се каже без повече познания за вашия дизайн.
-
Използвайте кода такъв, какъвто е, добавете уникален индекс към колекцията и обработете грешката на дублирания ключ, ако/когато възникне
-
Променете дизайна, за да приложите ясна оптимистична едновременност.
Ядрото и на двете решения е едно и също, елегантно справяне със случая на грешка. #1 е по-лесен за изпълнение. #2 позволява по-голяма гъвкавост в начина, по който се обработва оптимистичната едновременност.