ruby-on-rails - 如何在json响应中将mongo id作为字符串返回

标签 ruby-on-rails mongodb ruby-on-rails-4 mongoid

我正在使用 Rails 4.1.5 和 Mongoid 4.0。 我的 api 将 mongo id 作为哈希返回

{
_id: {
$oid: "541e79bc616b684e75000000"
}
created_at: "2014-09-21T07:09:48.599Z"
}

我想要这样的东西

{
id: "541e79bc616b684e75000000"
created_at: "2014-09-21T07:09:48.599Z"
}

我已检查 this question已经,但我不确定我需要将这个答案中提到的更改放在哪个文件中

最佳答案

您需要在 config/initializers 中创建一个文件并将代码放在那里。

更新:

使用以下代码:

module BSON
  class ObjectId
    def to_json(*args)
      to_s.to_json
    end

    def as_json(*args)
      to_s.as_json
    end
  end
end

关于ruby-on-rails - 如何在json响应中将mongo id作为字符串返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25967669/

相关文章:

node.js - 如何检索MongoDB中的大量对象?

ruby-on-rails - 事件关系 : undefined method `city'

ruby-on-rails - Rails Actioncable Nginx 404 和 502 错误

ruby-on-rails - 以正确的方式从 ruby​​ on rails 执行查询

MySQL 查询花费了太多时间,NoSQL 是解决方案还是像 elasticsearch 这样的解决方案可以工作?

ruby-on-rails - 在 Rails 4 中为 URL 助手设置默认命名空间?

ruby-on-rails - 在父类中使用派生类的属性

ruby-on-rails - 如何在方法中创建动态连接语句?

ruby-on-rails - 使用 curl、params 数组测试 rails grape API

mongodb - 展开,但在每个结果行中保留原始数组