知道mongodb可以通过设置update的第三个参数为true来实现没有数据时插入,有数据时更新。
那使用mongoose封装的update方法如何传入这个参数呢?
mongoose的文档中提供的是update(doc, options, callback)这三个参数
仅有的幸福2017-05-02 09:26:06
http://mongoosejs.com/docs/ap...
MyModel.update({ name: 'Tobi' }, { ferret: true }, { upsert: true }, function (err, raw) {
if (err) return handleError(err);
console.log('The raw response from Mongo was ', raw);
});
巴扎黑2017-05-02 09:26:06
Set the upsert attribute of the third parameter of the update method to true
Book.update(
// 查询
{
name: "The Kite Runner"
},
// 更新
{
auther: "Khaled Hosseini"
},
// 其他参数
{
upsert: true,
}, function(err, doc)
{
if (err) console.log(err);
console.log(doc);
});
Update the document’s auther attribute when The Kite Runner exists in the database;
When there is no The Kite Runner in the database, insert The Kite Runner document;