有没有办法在Mongoose中进行投影?

说我有一个集合,其中包含一个引用其他集合文档的字段,如下所示:

ClassEnrollment

 _id | student | class --------------------- 

并且Class集合中的类具有以下架构:

 _id | className | teacher | building | time | days | classNumber | description ------------------------------------------------------------------------------ 

如果我有一组3000个类,我想填充在服务器上,我可能会做类似ClassEnrollment.populate(listOfClassEnrollments, {path: 'class'});

在我的情况下,我不想要大部分的类字段,只是名字。 如果我从包含所有字段的数据库中获得3000个类的列表,我最终将以networking延迟的forms获得性能(这3000个类必须从托pipe数据库传输到服务器,这可能是50 MB的原始数据如果描述很长)

有没有一种方法来填充类注册名单通过一个选项来填充(在幕后,我想它会像投影一样工作,所以数据库只是响应类名和_id而不是所有的类信息)?

您可以在populate调用中使用select选项来执行此操作:

 ClassEnrollment.populate(listOfClassEnrollments, {path: 'class', select: 'className'});