0
古いMongoDBスキーマのデータを新しいMongoDBスキーマに移行しようとしています。すべてのスキーマがうまくいきます。私が理解できないことは、古い文書が新しい文書として保存される前に変換されていない理由です。私はマップ関数を使って新しいスキーマに変換して保存して、すべてのドキュメントを読んでいます。しかし、新しいスキーマにはまったく変更されていないため、検証に失敗しています。これは非同期の問題ですか?どんな手がかりも素晴らしいだろう。NodeJSのマップ関数が期待通りに機能しない
let User = require('./api/models/user.model');
let newUser;
let mapUsers =() => {
let makeUser = (u) => {
return {
firstName: u.first_name,
lastName: u.last_name,
avatarUrl: u.avatar_url,
email: u.email,
loginCount: u.login_count,
loginTime: u.login_time,
logoutTime: u.logout_time
}
};
h2User.find({}).limit(1).exec((err, users) => {
if (err) {
console.error(err);
} else {
users.map(user => {
newUser = new User(makeUser(user)); // like this doesn't work
newUser.save((err, nu) => {
if (err) {
console.log(err);
} else {
console.log(nu._id)
}
});
});
}
});
};
mapUsers();
新しいユーザー(makeUser(user.toObject()))を実行しようとしましたが、mongooseはオブジェクトの代わりにドキュメントを返します。 – mrkre
うわー。それはうまくいった、ありがとう。回答を作成したい場合は... – MFB