ATUALIZAÇÃO:@Thomas4019 aponta que
upsert
agora é suportado:v0.6.6
"Adicione suporte upsert. Collection.update agora suporta a opção {upsert:true}. Além disso, adicione um método Collection.upsert que retorna o ID do objeto recém-inserido, se aplicável."
Fonte:History.md
Documentação de uso:http://docs.meteor.com/#upsert
-- resposta original segue --
Há um cartão no Trello Meteor Roadmap no qual você pode votar para indicar sua importância para você:https:// trello.com/c/C91INHmj
Ele está atualmente na lista "Mais tarde", o que significa que levará um tempo antes de ser implementado, a menos que receba muitos votos.
A outra coisa importante a ser observada é que, como o meteoro é de código aberto, você mesmo pode implementar as alterações necessárias e enviar de volta.
Existem várias soluções, mas qual é a mais apropriada para o seu caso de uso é impossível dizer sem mais conhecimento do seu design.
-
Use o código como está, adicione um índice exclusivo à coleção e trate o erro de chave duplicada se/quando ele surgir
-
Altere o design para implementar a simultaneidade otimista explícita.
O núcleo de ambas as soluções é o mesmo, trate graciosamente o caso de erro. #1 é mais fácil de implementar. O nº 2 permite maior flexibilidade em como a simultaneidade otimista é tratada.