Mongodb Mongoose填充数组并返回所有文档(即使未找到填充)
正如标题所示,是否有一种方法可以使用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
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添加了模式和示例文档。