首页 > 解决方案 > 如何在 MongoDB/Mongoose 中为一个字段引用两个不同的集合?

问题描述

我正在使用用户名字段设置用户名模型架构,该字段将被称为用户模型架构和组织模型架构。目的是将组织和用户的用户名存储在一个集合中。我制作了以下代码,但它给出了运行时错误。

const UsernameSchema = new Schema ({
  username: {type: Schema.Types.String, ref: 'User', 'Organization' }
});

标签: mongodbmean-stackmongoose-schema

解决方案


只能引用对象 ID。如果您想将用户名存储在一个集合中,那么您只能将其存储为字符串,因此使用查找查询来获取相应的数据。您还可以索引用户名属性以加快查询速度。如果不是 ref,则在聚合中使用 $lookup。


推荐阅读