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

时间:2016-10-31 06:35:20

标签: node.js mongodb

这是我的代码:

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

1 个答案:

答案 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' }