我有一个架构需要引用Mongoose中的另一个,就像在一对多情况下sql中的foreing-key一样。问题是我的“foreing-key”最初声明为String并且db已经完全填充。为了在mongoose中使用.populate()
我相信两种类型都需要是ObjectId。所以我设法编写了一个这样的脚本来将我的所有String转换为ObjectId类型:
Appointment.find({}, (err, res) => {
res.forEach(res => {
var id = ObjectId(res.clientId,);
res.clientId = id;
res.save();
}
});
});
然而,它似乎没有转换重复的字符串...当然我得到一些重复它是一对多的关系!我确定我做错了但是我来自sql ...