gpt4 book ai didi

node.js - MongoDB更新语句设置其他集合中的值

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:20 25 4
gpt4 key购买 nike

我有 SQL Server 背景,我正在将一些数据迁移到 MongoDB,以使用 Mongoose 作为驱动程序进行概念验证项目。我想将数据库引用添加到另一个集合。我在这里尝试做的一个基本示例:

项目架构:

{
projectNo: String,
projectTitle: String
}

文档架构:

{
projectId: { type: mongoose.Schema.Types.ObjectId, ref: 'project'},
projectNo: String,
documentTitle: String
}

我想向引用项目集合 _id 的文档架构添加一个新键。如果我在 SQL Server 中这样做,我会这样做:

UPDATE document
SET projectId = project._id
FROM project
WHERE document.projectNo = project.projectNo

有人能指出我正确的方向吗?谢谢!

凯文

最佳答案

好吧,我必须摘下 SQL Server 帽子,用 JS 术语来思考它。对于项目中的每个项目,我想使用项目 _id 更新这些集合。所以我想出了这个:

var proj = db.proj.find(); //load all the projects

proj.forEach(function(proj){ //loop through each one and update matching records in the collection
db.forecast.update(
{
"projectNo" : proj.projectNo,
"$isolated" : true
},{
$set: {
projId : proj._id
}
}, {
"multi" : true
});
});

我确信还有另一种方法可以做到这一点,我非常乐于接受建议。

关于node.js - MongoDB更新语句设置其他集合中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28907131/

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