Oll*_*lie 7 javascript mongoose mongodb node.js
有没有一种很好的方法可以保存或更新mongoose中的文档?像我在下面的东西
let campaign = new Campaign({
title: req.body.title,
market: req.body.market,
logo: req.body.logo,
additional_question_information: question,
status: status
});
campaign.saveOrUpdate().then(function() { ... }
Run Code Online (Sandbox Code Playgroud)
谢谢大家的帮助
CD-*_*-jS 14
我认为你所寻找的东西被称为'upsert'.
您可以使用findOneAndUpdate并传递{upsert:true}选项来执行此操作,如下例所示:
let campaign = new Campaign({
title: req.body.title,
market: req.body.market,
logo: req.body.logo,
additional_question_information: question,
status: status
});
Campaign.findOneAndUpdate({
_id: mongoose.Types.ObjectId('CAMPAIGN ID TO SEARCH FOR')
}, campaign, { upsert: true }, function(err, res) {
// Deal with the response data/error
});
Run Code Online (Sandbox Code Playgroud)
findOneAndUpdate的第一个参数是用于查看是保存新文档还是更新现有文档的查询.如果要在响应数据中返回已修改的文档,则还可以添加该{ new: true }选项.
findOneAndUpdate的文档:http://mongoosejs.com/docs/api.html#model_Model.findOneAndUpdate
| 归档时间: |
|
| 查看次数: |
10510 次 |
| 最近记录: |