如何在从填充文档中选择有限值时使用 mongoose-paginate 填充

Tay*_*rza 3 express

我正在使用 mongoose 分页插件,但在填充其他文档时遇到问题。简单填充工作正常,但如果我想选择选定的字段,则会显示填充数据中的所有字段,并且主文档字段都将被删除。我正在使用 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);
        })},
Run Code Online (Sandbox Code Playgroud)

这是邮递员的回复。

正如您所看到的,我只想要 typeDesc,但获得了所有数据,并且我从医院的主要数据已被删除。

小智 9

这是解决方案

        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);
        })},
Run Code Online (Sandbox Code Playgroud)

我修改了您的代码并仅更改填充路径,这里的技巧是您需要在其他变量中描述文档和所选字段并在选项字段中使用它。我现在无法测试它,因为我没有数据库,但我确信它会正常工作。请随意对此发表评论。