猫鼬创建 returns __v
mongoose create returns __v
我正在尝试用 mongoose 休息 api 我想隐藏 __v 属性 并且我通过这样做成功地将它隐藏在 find 和 findById 上:
Contact.find({}, '-__v', function(error, list) { });
Contact.findById(req.params.id, '-__v', function(error, item) { });
但是当我使用创建方法时
Contact.create(req.body, function(error, item) { });
它 returns 我添加了 __v 属性 的项目。
我还使用 select 尝试了此方法:在这样的架构上为 false
__v: {
type: Number,
select: false
}
这个方法也做了同样的事情,它从 find 和 findById 中隐藏了 __v 属性 但也没有从 crate 方法返回的对象中隐藏它。
在schema中你可以设置如下
var Schema = new Schema({...}, { versionKey: false });
您也可以在创建文件文档后直接使用纯 js:
Contact.create(req.body, function(error, item) {
delete item.__v;
//other things
});
我正在尝试用 mongoose 休息 api 我想隐藏 __v 属性 并且我通过这样做成功地将它隐藏在 find 和 findById 上:
Contact.find({}, '-__v', function(error, list) { });
Contact.findById(req.params.id, '-__v', function(error, item) { });
但是当我使用创建方法时
Contact.create(req.body, function(error, item) { });
它 returns 我添加了 __v 属性 的项目。
我还使用 select 尝试了此方法:在这样的架构上为 false
__v: {
type: Number,
select: false
}
这个方法也做了同样的事情,它从 find 和 findById 中隐藏了 __v 属性 但也没有从 crate 方法返回的对象中隐藏它。
在schema中你可以设置如下
var Schema = new Schema({...}, { versionKey: false });
您也可以在创建文件文档后直接使用纯 js:
Contact.create(req.body, function(error, item) {
delete item.__v;
//other things
});