Node.js 如何在nodejs中重用已经执行的查询mongodb mongoose
这是否可以重用nodejs中已经存在的Node.js 如何在nodejs中重用已经执行的查询mongodb mongoose,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,这是否可以重用nodejs中已经存在的execmongodb/mongoose查询 例如,我创建如下查询以检查用户是否存在: const inviter = await User.findOne({ _id: req.userData._id }).exec() // there's bunch of code bellow here before update the user data 基本上,如果我想更新数据,那么我必须再次编写相同的代码,并添加如下更新功能: User.findOneA
exec
mongodb/mongoose查询
例如,我创建如下查询以检查用户是否存在:
const inviter = await User.findOne({ _id: req.userData._id }).exec()
// there's bunch of code bellow here before update the user data
基本上,如果我想更新数据,那么我必须再次编写相同的代码,并添加如下更新功能:
User.findOneAndUpdate({ _id: req.userData._id }, { $push: { invited: recipient.value } }, { useFindAndModify: false })
inviter.update({ $push: { invited: recipient.value }).exec()
是否可以继续第一个查询并根据第一个查询的结果添加要更新的短查询,例如:
User.findOneAndUpdate({ _id: req.userData._id }, { $push: { invited: recipient.value } }, { useFindAndModify: false })
inviter.update({ $push: { invited: recipient.value }).exec()
我知道此代码不起作用。您可以使用此方法:
User.findOne({ _id: req.userData._id }).exec((err, result) => {
if(result)
{
result.invited = recipient.value;
result.save((err) => {
if (err) // do something
});
}
})
}