【问题标题】:How to return json using mongoid如何使用 mongoid 返回 json
【发布时间】:2017-04-08 17:30:10
【问题描述】:

我有一个模型:

class Client
  include Mongoid::Document
  field :name, type: String
  field :age, type: Integer
  index({ name: 1 }, { unique: true })

  def self.list
    self.all.as_json
  end
end

当我调用 Client.list 时,我得到以下信息:

[{"client"=>{"_id"=>{"$oid"=>"58e91ccb9509d36cbaa8c79b"}, "name"=>"mark", "age"=>30}}]

我追求的是:

[{"_id"=>{"$oid"=>"58e91ccb9509d36cbaa8c79b"}, "name"=>"mark", "age"=>30}]

【问题讨论】:

  • 我遇到了同样的问题,所以我写了一篇关于我如何解决它的博客。您可能会发现它很有帮助。 medium.com/aviabird/…
  • @VoidZero 这不是同一个问题 :)

标签: json ruby mongodb sinatra mongoid


【解决方案1】:

你用的是哪个版本的mongoid?

查看文档: https://docs.mongodb.com/ruby-driver/master/tutorials/6.1.0/mongoid-installation/

您可以禁用include_root_in_json 以删除输出 json 的模型名称。

你能试试这个解决方案吗?

【讨论】:

  • 使用 mongo 2.4.1,使用 mongoid 6.1.0,使用 bson 4.2.1。问题是为什么默认情况下 mongoid 在结果中返回类名。这不是数据库中数据的样子
  • 我想我不明白您的意思,但是您阅读了我发送的链接?可以在 json 的输出中禁用类名。
猜你喜欢
  • 1970-01-01
  • 2013-12-17
  • 2020-01-19
  • 1970-01-01
  • 1970-01-01
  • 2017-07-20
  • 2012-08-30
  • 1970-01-01
相关资源
最近更新 更多