Я пытаюсь сделать upsert с драйвером ruby для mongodb.Если строка существует, я хочу передать новые данные и массив, иначе создайте новый документ с одним элементом в массиве.
Когда я запускаю его на mongodb, это выглядит так:
db.events.update( { "_id" : ObjectId("4f0ef9171d41c85a1b000001")},
{ $push : { "events" : { "field_a" : 1 , "field_b" : "2"}}}, true)
И это работает.
Когда я запускаю его на ruby, это выглядит так:
@col_events.update( { "_id" => BSON::ObjectId.from_string("4f0ef9171d41c85a1b000001")},
{ :$push => { "events" => { "field_a" => 1 , "field_b" => "2"}}}, :$upsert=>true)
И это не работает.Я не получаю сообщение об ошибке, но не вижу новых строк.
Буду признателен за помощь в понимании того, что я делаю неправильно.