我遇到了一个大问题,我试图在Mongoose中使用模型关联,因为它确实很有用,但是有些事情我还是不明白...

假设有一个User模式,其模式类似于...(以及其他模式)

user_geos : [{

  type: Mongo.Schema.ObjectId,
  ref: 'UserGeo',

}]


还有一个带有此架构的UserGeo模型...(还有其他)

_user: {

  type: Mongo.Schema.ObjectId,
  ref: 'User'

}


很简单,当我创建一个新的UserGeo时,它应该自动将其添加到User内的user_geos数组中,对吗?

   user_geo_infos._user = user.id;

    db.UserGeo.create(user_geo_infos, function(error, user_geo) {

        catches.error(error);
        console.log(user_geo);

    });


我遇到的最大问题是,当我创建它时,它会正确填充数据库中UserGeo的“ _user”字段,但User模型不会自行填充。数组保持为空(“ []”)。一个细节,但您真正理解的是UserGeo有一个用户,而User有许多UserGeo。

我真的被卡住了,我做错了吗?我到处检查了一下,现在像10次阅读了Mongoose文档...

任何想法 ?谢谢大家;)

最佳答案

很简单,当我创建一个新的UserGeo时,它应该自动将其添加到User内的user_geos数组中,对吗?


不。这里有比您所希望的少的魔术/自动东西。 Mongodb和Mongoose一次只能作用于一个集合。当您加载记录并使用猫鼬.populate辅助程序时,这将自动执行查询,但并不能帮助您跨集合编写。

关于node.js - 填充不起作用 Mongoose (无数据库插入),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23411505/

10-09 03:34