【问题标题】:Preventing Mongoid 4.0.0 model field coercion of id => _id防止 id => _id 的 Mongoid 4.0.0 模型字段强制
【发布时间】:2015-01-28 02:55:20
【问题描述】:

我在 Rails 4 中使用 Mongoid 4.0.0。我的模型在另一个应用程序中映射表,我无法控制字段名称。

其中一个模型有一个名为 id 的字段,它被强制转换为 Mongo 的 _id 字段。例如,当我插入一个id 值为"something" 的文档时,我得到

{_id:"something", id:null}

而不是

{_id:ObjectId("<hexstring>"),id:"something"}

有什么办法可以避免这种强制,让 Mongoid 不把这两个字段混为一谈,不理会我的 id 字段吗?

正如我所说,重命名 id 字段不是一个选项。

谢谢!

[编辑] 这绝对是不是 MongoDB 问题。它必须在 Moped 或(我猜)Mongoid 中。

我已尝试将 params 密钥从 :id 更改为 :_rid,但这仍在发生。我要检查别名,但从我的第一遍开始,我认为它们不会有帮助——它们似乎走错了路。

【问题讨论】:

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


    【解决方案1】:

    这似乎被硬编码到Moingoid 中,并且自始至终都是一个普遍的假设。不过,这很烦人,我可能会想出一个补丁来允许用户在 per-model 的基础上覆盖关键字段。

    哦,好吧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多