MongoMapper,同时增加和更新其他属性?

时间:2010-06-26 01:00:00

标签: ruby-on-rails mongodb mongomapper

如何在一次操作中执行以下操作:

  • 通过某些键:值对
  • 查找或创建对象
  • 增加对象的属性。

我现在正在这样做:

Model.find_or_create_by_this_and_that(this, that).increment("a" => 1, "b" => 1)

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

从javascript开始,您应该可以执行类似

的操作

db.model.update({"_id" : "xyz"}, {$inc : {"a":1,"b":1} })

看起来MongoMapper的等价物是

Model.collection.update({"_id" => self._id}, {"$inc" => {"a" => 1,"b" => 1}})

MongoMapper似乎也支持增量功能,但我不熟悉语法。在任何一种情况下,第二个命令看起来非常类似于javascript版本(和php版本),所以这可能是你正在寻找的。