Mongoose.js 除了 _id & __v 默认来自查询结果

Posted

技术标签:

【中文标题】Mongoose.js 除了 _id & __v 默认来自查询结果【英文标题】:Mongoose.js except _id & __v from query result by default 【发布时间】:2013-02-07 20:07:42 【问题描述】:

我可以从查询结果中排除一个字段,声明如下:

字段:类型:'字符串',选择:假

是否可以使用 _id 和 __v 字段来做到这一点? 我试过了

_id: select: false

但它似乎不起作用

【问题讨论】:

【参考方案1】:

只要您还在架构定义中包含字段的type,您就可以这样做:

_id: type: mongoose.Schema.ObjectId, select: false,
__v: type: Number, select: false,

但是,这将阻止 Mongoose 在 save 上找到您的模型实例(并更新其 __v),除非您在 find 中明确包含这些字段。因此,请确保您知道自己在做什么。

【讨论】:

当使用 _id: type: Schema.Types.ObjectId, select: false 时,它可以工作。看来 mongoosejs 改变了定义:mongoosejs.com/docs/schematypes.html

以上是关于Mongoose.js 除了 _id & __v 默认来自查询结果的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose.js:如何实现创建或更新?

Mongoose.js:如何实现创建或更新?

MongoDB、Mongoose 和复合 _id

Mongoose JS - 填充方法不返回完整引用的对象... - 仅返回 objectId 版本

mongoose.js 中带有查询生成器的 OR 运算符

mongoose.js 中带有查询生成器的 OR 运算符