gpt4 book ai didi

node.js - 填充不起作用 Mongoose(无数据库插入)

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:49 25 4
gpt4 key购买 nike

我遇到了一个大问题,我正在尝试在 Mongoose 中使用模型关联,因为它确实很有用,但有些东西我不明白......

假设有一个用户模型,其架构类似于...(等等)

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”字段,但用户模型没有填充自身。数组保持为空(“[]”)。但你真正理解的一个细节是 UserGeo 拥有一个 User,而 User 拥有多个 UserGeo。

我真的很困惑,我做错了什么吗?我到处检查并阅读 Mongoose 文档大约 10 遍......

有什么想法吗?谢谢大家;)

最佳答案

Very simple, when I'm creating a new UserGeo, it should automatically add it to the user_geos array within User, right ?

不。这里的魔法/自动的东西比你希望的要少得多。 Mongodb 以及 mongoose 一次只会对一个集合执行操作。当您加载记录并使用 mongoose .populate 帮助器时,这将自动执行查询,但它不能帮助您跨集合编写。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com