0
私は2つのコレクション、子供、クラスを持つデータベースを持っているとしましょう。各子供は1つのクラスに属します。マニュアルIDをmongoDBのObjectID _idに置き換えるにはどうすればいいですか?
各クラスには以前に作成された整数IDがあります。
kid.class_idを、クラスの(整数)IDではなく、クラスの(オブジェクトID)_idに置き換えたいとします。
ただし、以下のスクリプトを実行すると、class_idがclass.idでリセットされません。古い整数IDのままです。
mongoose.connect(someMongodbUri, { useMongoClient: true }, (err, db) => {
let kidsCount = 0;
db.collection('kids').find({}).each((err, kid) => {
kidsCount++;
db.collection('classes')
.findOne({ id: kid.class_id })
.then((class, err) => {
let newClassId = class._id;
db.collection('kids').updateOne(
{ _id: kid._id },
{ $set: { class_id: newClassId } }
).then(() => {
console.info('Updated', kid.class_id);
kidsCount--;
if (kidsCount === 0) { db.close(); }
});
});
});
});
何か不足していますか?あなたが提供できるお手伝いをありがとう!