node.js - Mongoose 创建返回 __v

标签 node.js mongodb mongoose mongoose-schema

我正在尝试使用 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) { });

它返回给我添加了 __v 属性的项目。

我还尝试了在这样的架构上使用 select: false 的方法

__v: {
  type: Number,
  select: false
}

此方法也执行相同的操作,它从 find 和 findById 中隐藏 __v 属性,但也不从 crate 方法返回的对象中隐藏它。

最佳答案

在架构中您可以按如下方式设置

 var Schema = new Schema({...}, { versionKey: false });

关于node.js - Mongoose 创建返回 __v,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47386799/

相关文章:

node.js - 在nodejs中访问user._id

Mongoose .js : remove collection or DB

node.js - Mongoose find - 使用返回的数据并将其添加到变量中

c# - .net 中的 mongodb 中的全文搜索

node.js - 如何从字符串的[array]进行一般搜索

javascript - 来自多个集合的 $lookup 和嵌套输出

javascript - 将数组插入数组中包含的对象中

node.js - 如何通过 Node.js 中的 child_process.spawn() 将长字符串传送到/dev/stdin?

javascript - 更改 ExpressJS 中的 "expires" header ?

MongoDB 聚合查找匹配数组