【发布时间】:2021-04-10 13:32:35
【问题描述】:
是否可以使用 mongoose $lookup 跨多个数据库使用?
你对这件事有什么想法吗?
我有一个用户数据库,其中包含用户集合中的用户信息。 和另一个用于用户 cmets 的数据库。
【问题讨论】:
是否可以使用 mongoose $lookup 跨多个数据库使用?
你对这件事有什么想法吗?
我有一个用户数据库,其中包含用户集合中的用户信息。 和另一个用于用户 cmets 的数据库。
【问题讨论】:
正如mongoDB docs 所说的$lookup:
对同一数据库中的未分片集合执行左外连接,以过滤来自“已连接”集合的文档以进行处理。
所以不,回答你的问题:这是不可能的。
但是,作为补充,使用 Mongo 存在 db.getSiblingDB() 选项。
Docs here 说:
用于在shell环境不修改db变量的情况下返回另一个数据库。
您可以检查 here 在 Mongoose 中该方法称为 useDb()。
Docs here 在哪里说:
使用相同的连接池切换到不同的数据库。
所以,这不是$lookup,而是一种拥有另一个数据库数据的方法。
This 答案使用useDb 和populate,也许对你有帮助。
也为了您的目的检查this问题。
【讨论】: