Tag: upsert

在Rails ActiveRecord中Upsert

ActiveRecord是否具有内置的upsertfunction? 我知道我可以自己写,但我显然不想,如果这样的事情已经存在。

使用MongoDb升级多个记录

我试图让MongoDB使用以下查询来追加多个记录,最终使用MongoMapper和Mongo ruby​​驱动程序。 db.foo.update({event_id: { $in: [1,2]}}, {$inc: {visit:1}}, true, true) 如果存在所有记录,则此方法可以正常工作,但不会为不存在的记录创建新记录。 以下命令具有shell所需的效果,但从ruby驱动程序可能并不理想。 [1,2].forEach(function(id) {db.foo.update({event_id: id}, {$inc: {visit:1}}, true, true) }); 我可以循环遍历我想要在ruby中插入的每个id,但这样就需要为每个项目访问数据库。 有没有办法从ruby驱动程序中只有一次数据库中的多个项目? 这里的最佳做法是什么? 使用mongomapper和ruby驱动程序,有没有办法在一个批处理中发送多个更新,生成如下所示的内容? db.foo.update({event_id: 1}, {$inc: {visit:1}}, true); db.foo.update({event_id: 2}, {$inc: {visit:1}}, true); 样本数据: 如果存在两条记录,则命令后的所需数据。 { “_id” : ObjectId(“4d6babbac0d8bb8238d02099”), “event_id” : 1, “visit” : 11 } { “_id” : ObjectId(“4d6baf56c0d8bb8238d0209a”), “event_id” : 2, “visit” […]