Mongodb Mongoose填充数组并返回所有文档(即使未找到填充)

Mongodb Mongoose填充数组并返回所有文档(即使未找到填充),mongodb,mongoose,mongoose-schema,mongoose-populate,Mongodb,Mongoose,Mongoose Schema,Mongoose Populate,正如标题所示,是否有一种方法可以使用mongoose填充数组并返回填充的文档,以及未能找到关联文档的数组项 例如,我有下面的模型和示例文档。该文档有两个用户(存储在数组中)。其中一封电子邮件与数据库中的用户关联,而另一封则不关联。如果我在这个数组上运行虚拟填充,我只会得到找到引用的一个用户文档 这是我的型号 const organizationSchema = new Schema({ name: { type: String, required: tru

正如标题所示,是否有一种方法可以使用mongoose填充数组并返回填充的文档,以及未能找到关联文档的数组项

例如,我有下面的模型和示例文档。该文档有两个用户(存储在数组中)。其中一封电子邮件与数据库中的用户关联,而另一封则不关联。如果我在这个数组上运行虚拟填充,我只会得到找到引用的一个用户文档

这是我的型号

const organizationSchema = new Schema({
    name: {
        type: String,
        required: true
    },
    users: [String],
}, { timestamps: { createdAt: 'created_at' } });

organizationSchema.virtual('users_populated',{
    ref: 'users',
    localField: 'users',
    foreignField: 'email'
});
示例文档

{

名称:“测试机构”,用户:[”email1@gmail.com", "email2@gmail.com“]

}

我想做什么

如果其中一个用户的不存在,我希望它返回以下内容:
[{u id:109753097121092,姓名:'steve',电子邮件:'email1@gmail.com'}, "email2@gmail.com“]

甚至:
[{u id:109753097121092,姓名:'steve',电子邮件:'email1@gmail.com'},{电子邮件:email2@gmail.com“}]

我得到的(请注意,未能填充的条目丢失:

[{u id:109753097121092,姓名:'steve',电子邮件:'email1@gmail.com“}]

你能告诉我你到底在运行什么吗?也许可以清理一下,然后再发一点帖子?@Minsky添加了模式和示例文档。