我在express中编写自己的API来执行mongo更新查询,而且我无法专门更新“name”字段。
TagHandles.update(
{"uuid":req.params.id},
// {$set: { name : "piers" } },
{$set: { type : "works" } },
{upsert:true,safe:false},
function(err, data){
if (err){
console.log("ERROR");
console.log(err);
console.log(data);
} else {
console.log("SUCCESS");
console.log(err);
console.log(data);
}
res.send(err || data);
});
TagHandles是一个mongoose模型,具有以下Schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var TagHandle = new Schema({
type: String,
uuid: String,
handle: String
}, {
collection: 'tagHandles'
});
var TagHandles = mongoose.model('tagHandles', TagHandle);
答案 0 :(得分:0)
显然,mongoose会阻止您更新未列为架构一部分的任何字段。所以为了纠正,我添加了一行:
name: String
到mongoose架构。