Mongodb 我的mongoid引用宏有问题吗?

Mongodb 我的mongoid引用宏有问题吗?,mongodb,mongoid,Mongodb,Mongoid,Mongoid正在执行的查询对我来说没有意义,我想我一定是在定义一些错误的东西 但我不知道问题出在哪里 ==Model Definition== User references_many :questions_about, :class_name=>"Question", :inverse_of => :about_user Question references_in :about_user, :class_name=>"User",:inverse_of =>

Mongoid正在执行的查询对我来说没有意义,我想我一定是在定义一些错误的东西

但我不知道问题出在哪里

==Model Definition==
User
  references_many :questions_about, :class_name=>"Question", :inverse_of => :about_user

Question
  references_in :about_user, :class_name=>"User",:inverse_of => :questions_about
控制台:

u=User.find("nazroll")
u.questions_about.map
db['questions'].find({"user_id"=>#010b}, {})

应该执行的正确查询应该是

db['questions'].find({"ABOUT_user_id"=>#010b}, {})
这是因为我将:questions\u about定义为:about用户


非常感谢您的任何帮助,我非常感激。谢谢

在本例中,宏中引用的\u会向对象添加一个名为
关于用户\u id
的字段,它是被引用的
用户的
BSON::ObjectId
references\u many
宏将使用调用它的
User
实例中的
id
为该字段生成一个查询

换句话说,您可以将
中的引用(referenced)视为所属,
引用(much)视为
拥有(u many)


你到底面临什么问题?它是否运行了正确的查询?

好的,这实际上是因为我使用的是旧版本的mongoid,它实际上存在严重的错误


升级到最新版本,一切正常

Hi paul!是的,当我运行=>u.questions\u about.map时,查询将查找用户字段,而不是about\u用户字段。知道为什么吗?