收藏
回答

如何输出aggregate的结果?

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wx317cffdc1d04e126 2.7.4

请问一下如何输出aggregate后的结果?

const $ = db.command.aggregate

let temp=db.collection('recordmovement').aggregate()

.match({

_openid: '5aO_tBixeUe2ULs6Z4fQ6yI'

})

.bucket({

groupBy: '$movement',

boundaries: ['1', '50'],

default: 'other',

output: {

count: $.sum('$_id'),

ids: $.push('$_id')

}

})

.end();


如果直接console.log(temp),则直接输出Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined


回答关注问题邀请回答
收藏

2 个回答

  • 王世权
    王世权
    2019-08-28

    const $ = db.command.aggregate

        const p2 = db.collection('pay').aggregate()

          .match({

            card: app.globalData.card

          })

          .group({

            _id: '$period'

          })

          .end()

       

        p2.then(result => {

          if (result.list.length > 0) {

            const mydata = [];

            for (var i = 0; i < result.list.length; i++) {

              mydata.push(result.list[i]._id)

            }

            mydata.sort().reverse();

            this.setData({

              dateArray: mydata, //获取数据数组 

              index: 0,

            });

            this.getData();

          } else {

            this.setData({

              hidden: true

            });

          }

        })


    2019-08-28
    有用 1
    回复
  • 释域
    释域
    2019-08-28

    请问楼主有了解决方案了吗?


    2019-08-28
    有用
    回复 1
    • 王世权
      王世权
      2019-08-28
      主要是在then里使用result.list来获取
      2019-08-28
      2
      回复
登录 后发表内容