我有SQL server的背景,我正在将一些数据迁移到MongoDB上,用于一个使用Mongoose作为驱动程序的概念验证项目。我想添加一个DB引用到另一个集合。我在这里尝试做的一个基本示例:
项目架构:
{
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
有谁能给我指个方向吗?谢谢!
凯文
发布于 2015-03-06 22:33:53
好吧,我不得不摘掉我的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
});
});
我相信有另一种方法可以做到这一点,我非常乐于接受建议。
https://stackoverflow.com/questions/28907131
复制相似问题