1
私はusers
のコレクションをMongoDBに持っています。私は、各ユーザーのトークンを生成し、データベースに保存する必要があります。NodeJsで複数のMongoドキュメントを手動で更新するには?
var crypto = require('crypto');
db.users.find({}).exec(function(users){
users.forEach(function(user){
user.token = crypto.randomBytes(32).toString('hex');
user.save();
});
});
私は常に非同期メソッドについて困惑していると、ちょうど彼らがどのように動作するかを理解することはできません...だから、このコードは動作しません。これは、save()
コールが終了する前に存在しています。どのように動作させるのですか?どのようにすべてのsave()
コールを待ってDone!
をコンソールに印刷するのですか?
ありがとうございます!
「=>」とはどういう意味ですか?私はすぐにあなたのソリューションを試してみます。 – papaiatis
'=>'は[ES6 arrow function syntax](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions)を意味します。 node.jsバージョン<4を使用する場合は、代わりに通常の 'functions'を使用してください。 – alexmac
ありがとう!完璧に動作します。 – papaiatis