如何在不使用_id的情况下返回数据当我在mongoose中使用findByIdAndUpdate?

这是我的代码:

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',我该怎么办?谢谢。

我觉得mongoose隐藏是你想要的。

你也可以在这个链接中使用这个方法: MongoDB:输出'id'而不是'_id'

如果你只是想解雇__v ,你可以使用versionKey选项作为mogoose。 http://mongoosejs.com/docs/guide.html#versionKey

文档版本也可以通过将versionKey设置为false来禁用。 除非你知道你在做什么,否则不要禁用版本控制。

 new Schema({..}, { versionKey: false }); var Thing = mongoose.model('Thing', schema); var thing = new Thing({ name: 'no versioning please' }); thing.save(); // { name: 'no versioning please' }