Я хочу сохранить документ с помощью драйвера mongo-ruby, используя что-то вроде следующего:
id = "#{params[:id]}:#{Time.now.strftime("%y%m%d")}"
# db.collection('metrics').insert({'_id' => id})
db.collection('metrics').update(
{ '_id' => id },
{ '$inc' => { "hits" => 1 } },
{ 'upsert' => true }
)
Сейчас это будет обновлять только существующие документы, а не создавать их, если они еще не существуют. Единственный способ выполнить оба действия, если я раскомментирую над ним команду insert ().
Если я использую консоль mongo и пытаюсь сделать это напрямую (без необходимости вставки ()), она будет работать как положено.