我有mongomapper协会的问题.我有一个类名User和其他名为Model的.用户有很多型号,但......
user = User.first =>[] Model.find_by_user_id(user.id.to_s) => true
类代码(简化):
class User include MongoMapper::Document # some keys definition many :models end class Model include MongoMapper::Document # some keys definitions belongs_to :user end
我做错了什么?
看来MM不再使用String格式作为FK列,所以
Model.find_by_user_id(user.id.to_s)
应该
Model.find_by_user_id(user.id)
此外,Model.user_id列的数据类型应设置为
key :user_id, Mongo::ObjectID
当我遇到这个问题时,我不得不删除并重新创建我的集合以使其工作 - 换句话说,我曾经将user_id作为String,但是当我在重建数据库时切换它时它只会"占用".幸运的是我正在处理测试数据,因此很容易.