【问题标题】:how to return mongo id as string in json response如何在json响应中将mongo id作为字符串返回
【发布时间】:2014-09-22 06:13:53
【问题描述】:

我正在使用 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,但我不确定我需要将这个答案中提到的更改放在哪个文件中

【问题讨论】:

  • 您可以在 lib 文件夹中创建一个名为 mongoid.rb 的文件。
  • 我在 libs 文件夹中创建了两个文件 moped.rb 和 mongoid.rb,但 this answer 没有解决问题
  • 你重启服务器了吗?
  • 是的,我什至在放弃我的开发和测试 mongo DB 后尝试过

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


【解决方案1】:

您需要在 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

【讨论】:

  • 将文件移动到 config/initializers 后问题仍然存在
  • 我刚刚更新了我的答案。补丁有一点变化。
  • @Zakwan 文件的名称是什么以及如何使用它?谢谢
  • 我将其命名为 mongoid.rb。如果有帮助的话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
  • 2021-10-23
相关资源
最近更新 更多