Chr*_*ris 4 mongoose mongodb amazon-web-services node.js
我写了一个更新查询,它将通过 _id 找到记录并更新。此代码完全正常工作,直到我在该集合中添加新记录。如果添加一条记录并进行查询,它会进入成功部分,但返回 null 而不是数据。但是当我重新启动代码并尝试相同的操作时,它工作正常。我的方法是PUT。
accept = (req, res) => {
var query = { _id: req.params.uid };
var updatevalue = { $set: { status: 3 } };
var options = { new: true }
this._model.findByIdAndUpdate(query, updatevalue, options, (err, obj) => {
if (err) {
res.send(err);
}
else {
res.send(obj);
}
});
Run Code Online (Sandbox Code Playgroud)
}
要求
api.abc.com/api/accept/5cfe4dd898fd225ef1cabdsd
Run Code Online (Sandbox Code Playgroud)
小智 6
通常,我们可以通过多种方式更新单个记录
User.findOneAndUpdate({_id: id},{$set:{name:user.name}},{new:true}).then((docs)=>{
if(docs) {
resolve({success:true,data:docs});
} else {
reject({success:false,data:"no such user exist"});
}
}).catch((err)=>{
reject(err);
});
Run Code Online (Sandbox Code Playgroud)
«Object|Number|String»_id 的值传递给查询。所以在这里,我们可以直接通过req.params.id User.findByIdAndUpdate(req.params.id,{$set:{name:user.name}},{new:true}).then((docs)=>{
if(docs) {
resolve({success:true,data:docs});
} else {
reject({success:false,data:"no such user exist"});
}
}).catch((err)=>{
reject(err);
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3683 次 |
| 最近记录: |