如何使用猫鼬羽毛适配器编写聚合?

Posted

技术标签:

【中文标题】如何使用猫鼬羽毛适配器编写聚合?【英文标题】:How do I write an aggregate using mongoose feathers adapter? 【发布时间】:2018-02-23 07:50:40 【问题描述】:

我是 feathersjs 框架的新手,并尝试编写聚合查询它无法正常工作。

hook.app.query =  
   lookup: 
      from: "orders",
      localField:"serviceLocationId",
      foreignField:"serviceLocationId",
      as: "orders" 
   ,
   match:  serviceLocationId :  $in: Array.from(new Set(reqArr))  ,
   limit: 14 


hook.app.service('servicelocations')
    .find(hook.app.query)
    .then(result => 
        console.log(result)
    )

【问题讨论】:

在docs.feathersjs.com/api/databases/…中链接了很多关于Sequelize关联的信息 给我一些例子@Daff 【参考方案1】:

我们需要使用以下方式service.Model.aggregate然后它的工作正常

function locations(hook) 
    return new Promise((resolve,reject) =>
        hook.app.service('location')
          .Model.aggregate(hook.app.query)
          .then(result => 
            resolve(result)
          ).catch(e=>
            reject(e)
          )
      )

【讨论】:

我在哪里使用这个功能? 您需要在服务后提及hook.app.service('location')致电.Model.aggregate(hook.app.query)。像这样的东西。 @斯大林

以上是关于如何使用猫鼬羽毛适配器编写聚合?的主要内容,如果未能解决你的问题,请参考以下文章

如何在猫鼬中使用聚合

如何使用聚合在猫鼬中对文档数组进行分页?

如何仅在猫鼬中使用聚合填充嵌套在对象数组中的字段?

如何将对象响应对象的猫鼬聚合数组转换为json对象响应

查询父项时如何获取猫鼬子文档数组中的值的聚合总和?

Mongoose:如何使用两个字段对聚合响应进行排序