0

我有一个带有 mongomapper 的 rails 项目中的一些数据的数据库。

在导轨控制台中:

[1] pry(main)> MyObject.first
=> #<MyObject _id: BSON::ObjectId('525e6a9156c02c22de000002'), my_field: 1, 
...

[2] pry(main)> MyObject.where(my_field: 1).all
=> []
[3] pry(main)> MyObject.where(my_field: 1.to_s).all
=> []
[4] pry(main)> MyObject.where(my_field: "1").all
=> []

我错过了什么?

4

1 回答 1

0

这是因为缩写

在我的模型中:

key :my_field, String, required: true, abbr: :mf

正确查询:

[5] pry(main)> MyObject.where(mf: "1").all
=> [#<MyObject _id: BSON::ObjectId('525e6a9156c02c22de000002'), my_field: 1, 
...

恕我直言,这个缩写很疯狂

处理密钥名称存储在 MongodDB 中的文档中的事实是一个超级泄漏的抽象

于 2013-10-28T09:21:45.047 回答