Я не понимаю атомарного толчка метода Mongoid.
У меня есть этот документ:
class Campaign
include Mongoid::Document
field :messages, :type => Array # Array of hashes
end
И теперь в консоли игра с ним, но сообщения не сохраняются.Пример:
>> campaign = Campaign.last
=> #<Campaign _id: 4dc2b6617e296d53f000000d,...
>> data = {:from => 'user@example.com'}
=> {:from=>"user@example.com"}
>> campaign.push(:messages, data)
=> [{:from=>"user@example.com"}]
В журнале теперь написано:
MONGODB blabla_development['campaigns'].update({"_id"=>BSON::ObjectId('4dc2b6617e296d53f000000d')}, {"$push"=>{:messages=>{:from=>"user@example.com"}}})
Но если запросить этот документ еще раз, поле сообщений будет равно nil:
>> campaign = Campaign.last
=> #<Campaign _id: 4dc2b6617e296d53f000000d,...
>> campaign.messages
=> nil
Какя могу сохранить эти данные?
Спасибо