MongoMapper, увеличивать и обновлять другие атрибуты одновременно? - PullRequest
1 голос
/ 26 июня 2010

Как мне выполнить одно действие за одну операцию:

  • Найти или создать объект по нескольким парам ключ: значение
  • Инкрементные свойства объекта.

Я делаю это сейчас:

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

Какой правильный способ сделать это?

1 Ответ

1 голос
/ 26 июня 2010

Из 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), так что это, вероятно, то, что вы ищете.

...