Rails 3 + MongoDB: как сделать вложенный запрос?
Я использую драйвер Ruby Mongo.
@surname = coll2.find("name" => {"surname" => "testing"})
Разве это не должно работать? Я не получаю результатов.
я имею {"name" : { "surname" : "testing" }}
3 ответа
Решение
Ваш код должен работать отлично.
> coll2.insert({"name" => {"surname" => "testing"})
# => BSON::ObjectId('4dcb2e53abad691f62000002')
> coll2.insert({"name" => {"surname" => "another"})
# => BSON::ObjectId('4dcb2e53abad691f62000003')
> coll2.find().count
# => 2
> coll2.find("name" => {"surname" => "testing"}).count
# => 1
> coll2.find("name" => {"surname" => "testing"}).first
# => {"_id"=>BSON::ObjectId('4dcb2e53abad691f62000002'), "name"=>{"surname"=>"testing"}}
Я думаю, что следующее тоже будет работать
coll2.find("name.surname"=>"testing").first
Для меня это работало только с фигурными скобками. Как это:
col2.find({"name.surname": "testing"})