ruby - 如何通过_id 检索文档?

标签 ruby mongodb

当我有对象 ID 时,我正在尝试检索文档 - 但是,查询不起作用。

@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})

我已经尝试了查询的变体 - 它总是返回空 - 但是当我尝试对集合进行查询时,如下所示,它会起作用。

@result = @collection.find({"Exist" => "True"}) 

为什么?奇怪的是,复杂的查询有效,但 _id 的简单查询什么都不返回。

如果可能,我不想使用 MongoMapper。

谢谢

最佳答案

找到了 - 你需要像这样包装它 -

find({"_id" => Mongo::ObjectId(params[:id])}) 

关于ruby - 如何通过_id 检索文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2235262/

相关文章:

arrays - 按值从高到低对哈希数组进行排序

ruby - 用 Ruby 替换运行时实现

asp.net - 为什么 Time.strptime() 返回当前日期?

ruby - 按下 X 按钮时在 Windows 上强制使用 Ruby 代码

java - 通过 _id 更新一个文档(无效的 BSON 字段名称 _id)

ruby-on-rails - 如何在 eclipse aptana 插件中调试 ruby​​ on rails

java - Spring Data MongoDB 身份验证错误

javascript - QueryReqWrap.onresolve 处的错误 : querySrv ENODATA _mongodb. _tcp.blog-cluster-0hb5z.mongodb.net [as oncomplete]

java - Spring MongoDb ContextLoaderListener

java - 如何在 Spring Boot 中将 mongo db 更新运算符应用为 $inc