Я пытаюсь получить документ, хранящийся в MongoDB, используя его _id стандартного типа ObjectID. У меня _id представлен в виде строки. В этом примере это «4ec064e406a6f1205a000001»
Итак, я делаю:
require 'mongo'
connection = Mongo::Connection.new("localhost", 27017).db("store")
collection = connection.collection("products")
id = '4ec064e406a6f1205a000001'
# What should the following line be? This doesn't work.
collection.find_one("_id" => Mongo::ObjectID.from_string(id))
Я понимаю, что это BSON ObjectID, и я попробовал несколько разных способов использования гема bson для генерации правильного объекта, но я не могу заставить его работать. Я также попытался изменить один из _id объекта на стандартный Int32, используя похожий код, и он работал нормально. Я не знаю, как создать правильный объект ObjectID для использования с этим запросом.
Спасибо!