这是我的代码:
Task.findByIdAndUpdate({_id: req.params.task_id}, updateObj, {new: true}, function (err, updatedUser) {
if (err) {
return result.serverError(req, res)
}
result.success(req, res, updatedUser);
});
它将返回所有字段,但我不需要'__v'和'_id',我该怎么办?谢谢。
答案 0 :(得分:1)
我认为mongoose-hidden是你想要的。
您也可以使用此链接中的方法:MongoDB: output 'id' instead of '_id'
如果你只是想要解雇__v
,你可以使用versionKey
选项来获取mogoose。
http://mongoosejs.com/docs/guide.html#versionKey
也可以通过将versionKey设置为来禁用文档版本控制 假。除非您知道自己在做什么,否则请勿禁用版本控制。
new Schema({..}, { versionKey: false });
var Thing = mongoose.model('Thing', schema);
var thing = new Thing({ name: 'no versioning please' });
thing.save(); // { name: 'no versioning please' }