【发布时间】:2011-05-25 18:47:34
【问题描述】:
我正在尝试使用 Ruby 中的查询从 MongoDB 获取字段子集,但它似乎不起作用。它不返回任何结果
这是红宝石代码:
coll.find("title" => 'Halo', :fields => ["title", "isrc"]) #this doesn't work
如果我删除字段哈希,它会起作用,返回所有字段的结果
coll.find("title" => 'Halo') #this works
查看 mongodb 控制台,第一个查询在 mongodb 服务器上结束,如下所示:
{ title: "Halo", fields: [ "title", "isrc" ] }
如果我尝试从 mongo 客户端控制台进行查询,它会起作用,我会得到结果和子集。我这样查询:
db.tracks.find({title: 'Halo'}, {title:1,isrc:1})
可能是什么问题?几个小时以来,我一直在寻找解决方案。
【问题讨论】:
-
你可以试试:
coll.find({"title" => 'Halo'}, :fields => ["title", "isrc"]) -
请注意,当前的 ruby 驱动程序将选项键的名称从
:fields更改为:projection。 api.mongodb.org/ruby/current/Mongo/…