に私は依存コールバックを持っているこの私のコードを、コードを変換しますか?は約束
Q
は約束
-1
A
答えて
1
あなたを助けることができます: `db.collection(config.user)で
function findUser(user, id) {
db
.collection(user)
.find({ "_id": id }, function (err, result) {
if (err) {
return Promise.reject(err);
}
return Promise.resolve(result);
});
}
function updateUser(user, uname, pwd) {
db
.collection(user)
.update({
'_id': uname,
"pass": pwd
}, {
$set: {
'pass': pwd
}
}, function (err, result) {
db.close();
if (err) {
return Promise.reject(err);
}
return Promise.resolve(result);
});
}
Promise
.all([findUser(config.user, id), updateUser(config.user, uname, pwd)])
.then(function (results) {
res.json({ "success": 1 });
})
.catch(function (errors) {
logger.error(errors);
});
+0
ありがとうございました!!! – AJS
0
多分これはあなたがこの方法でこれを行うことができますfindOneAndUpdate Docs
const MongoClient = require('mongodb').MongoClient
MongoClient.connect('mongodb://localhost:27017/test', (err, db) => {
// Get the collection
const col = db.collection(config.user)
col.findOneAndUpdate(
{'_id': id }, // filter
{ $set: { 'pass': pwd } }, // update obj
{ returnOriginal: false } // options
).then(result => {
console.log(result) // the updated doc
})
})
関連する問題
- 1. 約束は、約束の前リターンは、
- 2. PG-約束:空の約束
- 3. Javascript - 約束の約束
- 4. は角 - 約束
- 5. 約束は
- 6. Angular2は約束
- 7. は約束
- 8. 私は約束
- 9. EmberJS - 約束は
- 10. $ q.all約束は
- 11. ネイティブの約束とブルーバードの約束
- 12. 返信済み約束約束
- 13. 非同期/約束を約束する
- 14. 約束の中で約束を返す
- 15. Javascript約束しない約束
- 16. 約束
- 17. 約束
- 18. 約束
- 19. 約束
- 20. 約束
- 21. 約束はjqueryの
- 22. 約束はコールバックで
- 23. は空約束に
- 24. map v.s.約束は
- 25. 約束はsetTimeoutを
- 26. 別の約束を呼び出すことを約束したAPI約束
- 27. NodeJS /リクエストの約束:約束は自動的
- 28. 約束から値を返す:コールバックまたは約束?
- 29. 約束とは別にお約束します。
- 30. mix firebaseはES6の約束を約束します
'あなたは前からの結果を使用していませんクエリ? – Niezborala
@Niezboralaいいえ、私は以前のクエリの結果を使用しません。しかし、2番目のクエリは、最初のクエリが条件を満たす場合にのみ実行されます。 – AJS