微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sails js 中的 MongoDB 聚合查询

如何解决sails js 中的 MongoDB 聚合查询

除了sum和average之外,我们如何在sails js中编写聚合查询。 就像我们在 mongoose 中有 Model.aggregate() 方法一样,如何使用sails-mongo 完成同样的事情

解决方法

您必须使用可用的数据存储管理器才能进行本机查询。聚合不是水线支持的功能。

文档:https://sailsjs.com/documentation/reference/waterline-orm/datastores/manager

这是一个例子:

const db = ModelName.getDatastore().manager;
const rawCollection = db.collection(tableName);

if (!rawCollection)
    return res.serverError(
        "Could not find tableName collection"
    );

return rawCollection
    .aggregate(
        [
            {
                $match: {
                    createdAt: {
                        $gte: from,$lte: to,},{ $sort: { createdAt: -1 } },{
                $group: {
                },{ $limit: page * limit + limit },{ $skip: page * limit },],{
            cursor: {
                batchSize: 100,}
    )
    .toArray((err,result) => {
        if (err) return res.serverError(err);

        let results = {
            items: result,total: result.length,};

        return res.json(results);
    });

ModelNametableName 更改为您所需要的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。