1

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

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

{_id:"something", id:null}

代替

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

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

正如我所说,重命名该id字段不是一种选择。

谢谢!

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

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

4

1 回答 1

0

这似乎是硬编码Moingoid并贯穿始终的假设。不过,这很烦人,我可能会想出一个补丁来允许用户在每个模型的基础上覆盖关键字段。

那好吧。

于 2015-02-13T17:47:10.923 回答