Async/await promiseを使用して検索してから保存することは可能ですか?
私は次のコードを持っています:
try {
var accounts = await Account.find()
.where("username").in(["[email protected]"])
.exec();
accounts.password = 'asdf';
accounts.save();
} catch (error) {
handleError(res, error.message);
}
そして私は次のエラーを受け取ります:
ERROR: accounts.save is not a function
これは私が探していたものです:
try {
var accounts = await Account.findOneAndUpdate(
{"username" : "[email protected]"},
{$set: {"password" : "aaaa"}},
{new : true}
);
res.status(200).json(accounts);
} catch (error) {
handleError(res, error.message);
}
または(@JohnnyHKにfind vs findOneのヒントをありがとう!):
try {
var accounts = await Account.findOne()
.where("username").in(["[email protected]"])
.exec();
accounts.password = 'asdf';
accounts.save();
res.status(200).json(accounts);
} catch (error) {
handleError(res, error.message);
}