我有两个MongoDB数据库DB 1和DB2(数据库不是集合)
Db 1有一个名为User的集合,其中包含用户的所有数据。
DB2有一个名为blog的集合,其中包含blog数据
由于某种原因,User和Blog集合分别位于两个不同的数据库DB 1和DB2中
现在Blog模式有了一个userId属性,可以告诉用户是谁发布了它
现在我的问题是,我想使用mongoose引用来代替userId,这样我就可以在填充用户数据时获取它......但是因为User集合在DB 1中,所以我无法这样做
博客架构{
标题:字符串,
内容:字符串,
用户ID:{类型:架构.类型.对象Id,引用:“用户”},
}
1条答案
按热度按时间uemypmqf1#
是的,如mongoose文档www.example.com中所述,可以跨数据库填充https://mongoosejs.com/docs/populate.html#cross-db-populate
无论是在父模式中引用模型示例(示例1),还是执行实际的填充(示例2),您都需要访问模型示例。
文档中的示例1-定义事件模式时使用模型示例:
文档中的示例2-在执行填充时使用模型示例: