gpt4 book ai didi

node.js - Mongoose 从不同的数据库填充模式

转载 作者:可可西里 更新时间:2023-11-01 09:40:08 25 4
gpt4 key购买 nike

例如,我有 SchemaA 和 SchemaB,它们都属于不同的数据库。在 SchemaA 中,我有 doc.b = {type: mongoose.Schema.Types.ObjectId, ref: 'SchemaB'}。当我填充这个时,我遇到了以下错误。 MissingSchemaError:尚未为模型“SchemaB”注册架构。使用 mongoose.model(name, schema) 从我的研究中,我了解到 mongoose 支持人口跨数据库。
我需要为每个模式多次使用 mongoose,这是问题所在吗?
基本上我需要的是两个不同的模式,它们连接到不同的数据库以与填充一起工作。如果我在 mongoose 创建的连接上注册模式,它们将不会在同一个列表中注册。有没有办法成功呢?

最佳答案

基本上我们需要做的是将模式传递给人口,就像这样:

User.findOne({
_id: req.user._id
}).populate({
path: 'roomsContainer',
model: RoomsContainer,
populate: [{
path: 'creator'
},{
path: 'users'
},{
path: 'rooms',
model: Room
}]
}).exec(function(err, user) {
// do some magic
});

其中User属于数据库一,RoomRoomsContainer属于数据库二。

关于node.js - Mongoose 从不同的数据库填充模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36962294/

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