mongodb - Meteor upsert 等效

标签 mongodb meteor upsert

upsert 命令多久会在 Meteor 中实现?

同时,同时做同样事情的最佳方法是什么?

我现在正在做的事情是这样的:

if typeof ( item = Items.findOne({title:'Foo'}) ) == 'undefined'
    item = Items.insert({title:'Foo'})
else
    Items.update(item._id, {$set: {title:'Foo'}})
# do something with item

最佳答案

How soon will the upsert command be implemented in Meteor?

更新:@Thomas4019指出现在支持 upsert:

v0.6.6

“添加 upsert 支持。Collection.update 现在支持 {upsert: true} 选项。此外,添加一个 Collection.upsert 方法,该方法返回新插入的对象 ID(如果适用)。”

来源:History.md

使用文档:http://docs.meteor.com/#upsert

--原始答案如下--

Trello Meteor 路线图上有一张卡片,您可以对其进行投票以表明它对您的重要性:https://trello.com/c/C91INHmj

它目前在“稍后”列表中,这意味着它需要一段时间才能实现,除非它获得大量选票。

另一个需要注意的重要事情是,由于 meteor 是开源的,您可以自己实现必要的更改并提交回来。


What is the best way to do the same thing in the mean time?

有多种解决方案,但如果不了解您的设计,就无法判断哪种解决方案最适合您的用例。

  1. 按原样使用代码,向集合添加唯一索引,并在出现重复键错误时处理它

  2. 更改设计以实现显式乐观并发。

这两种解决方案的核心是相同的,优雅地处理错误情况。 #1 更容易实现。 #2 在如何处理乐观并发方面具有更大的灵 active 。

关于mongodb - Meteor upsert 等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206015/

相关文章:

arrays - Ruby: "upserting"散列中数组值的更惯用方式

node.js - 如何使用monk连接多个MongoDB数据库?

javascript - Meteor publish undefined 或 Publish 函数只能返回一个 Cursor 或一个 Cursors 数组

meteor - 如何将 Facebook 的 Open Graph 集成到 Meteor 应用程序中?

spring-boot - ElasticSearch - Spring Boot - Upsert 抛出 DocumentMissingException

mongodb - 如何使 MongoDB Upsert 真正幂等?

mongodb - 为什么这个 Node.js 插件 Mongoose 不起作用?我遵循了所有指示

mongodb - Mongorestore 4.2 可以与 AWS DocumentDB 4.0 一起使用吗?

ruby-on-rails-3 - 在mongoid中获取至少一个关系对象的模型

node.js - meteor 用于非常快的数据