gpt4 book ai didi

Mongoose 使用多个本地/外来 key 对填充虚拟机

转载 作者:行者123 更新时间:2023-12-03 21:30:30 24 4
gpt4 key购买 nike

我刚刚发现了 Mongoose 的 Populate Virtuals 方法,它将为我当前的项目节省大量时间。不过,我希望进一步扩展它。有没有一种基于多个本地/外键对进行填充的简单方法?这是代码可能是什么样子的示例(注意:这可能不是一个很好的示例,但希望它传达了我的问题的基础)。

var workerSchema = new Schema({
name: String,
locationCode: String,
departmentCode: String
});

var deparmentSchema = new Schema({
locationCode: String, //Note: neither location nor code
code: String, //are unique, but the combination of them are
manager: String,
otherInfoAboutDepartment: String
});

workerSchema.virtual('department', {
ref: "Department",
localField: ["locationCode", "departmentCode"],
foreignField: ["locationCode", "code"]
});

最佳答案

尽管这可能不是您正在寻找的答案。你可以得到这样的解决方法

workerSchema.virtual('department1',{
ref: "Department",
localField: "locationCode",
foreignField: "locationCode"
})

workerSchema.virtual('department2',{
ref: "Department",
localField: "departmentCode",
foreignField: "code"
})

在查找查询中,您可以使用类似
Worker.find({}).populate('department1').populate('department2')

在处理数据时,您可以检查数据字段是否为空并将两个输出合并为一个

关于Mongoose 使用多个本地/外来 key 对填充虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43551953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com