如何从填充文档中选择有限值时如何使用猫鼬分页填充

时间:2019-01-25 07:08:17

标签: express

我正在使用猫鼬分页插件,并且在填充其他文档时遇到问题。简单填充工作正常,但是如果我要选择 selected 字段,则会显示填充数据中的所有字段,并且所有主要文档字段都将被删除。 我正在使用Node Express ...

这是我的代码。

   var page = (req.body.page)?req.body.page:1;
        var perPage = (req.body.itemsPerPage)?req.body.itemsPerPage:10;
        var query   = {};
        var options = {
        select:'typeDesc',
        populate: 'hospitalType',
        lean:     true, 
        limit:    perPage,
        page:     page };
        hospital.paginate(query,options).then( function(result) {
        res.json(result);
        })},

Here is the reply from Postman.

如您所见,我只想要typeDesc,但获得了所有数据,并且我从Hospital提取的主要数据也已删除。

1 个答案:

答案 0 :(得分:1)

这是解决方案

        var page = (req.body.page)?req.body.page:1;
        var perPage = (req.body.itemsPerPage)?req.body.itemsPerPage:10;
        var query   = {};
        var abc = ({ path: 'hospitalType', select: 'field which you want to show' });
        var options = {
        populate: abc,
        lean:     true, 
        limit:    perPage,
        page:     page };
        hospital.paginate(query,options).then( function(result) {
        res.json(result);
        })},

我修改了代码,仅更改了填充路径,这里的窍门是您需要在其他变量中描述文档和所选字段,并在options字段中使用它。 由于没有数据库,我现在无法测试,但是我很肯定它将正常运行。随时对此发表评论。