【发布时间】:2015-08-07 17:57:51
【问题描述】:
我有类似的东西:
Schema Subdocument
name: String
data: Mixed
Schema Stuff
documents: [Subdocument]
现在,在我的 API 中有两个端点,一个用于Subdocument,另一个用于Stuff。当我想获得Subdocument 时,我需要包含data 字段,但是当我想获得Stuff 时,我想显示这些子文档的名称,但我不想显示数据字段因为比较大,不会用。
因此,为了清楚起见,数据不是私有的。只是从Stuff得到的时候不想显示出来
我尝试过这样做:
Stuff.findById(id)
.populate("documents")
.populate("-documents.data")
但这不起作用......我得到了Stuff和Subdocument,其中包含name和data。当我调用populate("-documents.data") documents 是一个数组并且我想为这个数组中的每个元素排除data 字段时,我觉得我想告诉猫鼬。
编辑:抱歉,我提供的架构不适用于我的情况。就我而言,它不是嵌入的,而是一个参考,如下所示:
Schema Subdocument
name: String
data: Mixed
Schema Stuff
documents: [{
type: Schema.Types.ObjectId,
ref: 'Subdocument'
}]
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query