Rails 3 + MongoDB:如何进行嵌套查询?

时间:2011-05-11 23:10:42

标签: ruby-on-rails-3 mongodb mongodb-ruby

我正在使用Ruby Mongo Driver。

  @surname = coll2.find("name" => {"surname" => "testing"})

这不应该有效吗?我没有结果。

我有{"name" : { "surname" : "testing" }}

3 个答案:

答案 0 :(得分:1)

我认为以下内容也会起作用

coll2.find("name.surname"=>"testing").first

答案 1 :(得分:0)

您的代码应该可以正常运行。

> 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"}} 

答案 2 :(得分:0)

对我来说,它只适用于花括号。像那样:

col2.find({"name.surname": "testing"})