node js从$ out查询集合

时间:2018-02-24 18:24:25

标签: node.js database mongodb

我正在为我的应用程序使用mongoDB和nodejs。我在db中有文档

{
"_id" : ObjectId("5a868d785e5436aeed0502c0"), 
"symbol" : "ABC",
"values" : [ 
    {
        "High" : 53.0,
        "Close" : 51.85,
        "Open" : 50.8
    }, 
    {
        "High" : 51.35,
        "Close" : 50.25,
        "Open" : 50.35
    }
  ]
}

计算值[0]之间的百分比变化。关闭和值[1]。关闭,我使用下面的代码。如果拍摄> = 5返回 true 其他 false

var History = require('../DBmodel/sHistory');
History.aggregate([{
                "$addFields": {
                    "shootup": {
                        "$gte": [{
                            "$multiply": [{
                                    "$cond": [{
                                            "$eq": [{
                                                "$arrayElemAt": ["$values.Close", 1]
                                            }, 0]
                                        },
                                        1, {
                                            "$divide": [{
                                                "$subtract": [{
                                                    "$arrayElemAt": ["$values.Close", 0]
                                                }, {
                                                    "$arrayElemAt": ["$values.Close", 1]
                                                }]
                                            }, {
                                                "$arrayElemAt": ["$values.Close", 1]
                                            }]
                                        }
                                    ]
                                },
                                100
                            ]
                        }, 5]
                    }
                }
            }], function(err, themeList) {
                if (err) {
                    return next(err);
                }
                res.json(themeList);
            });

执行时我收到错误 - 聚合结果超出最大文档大小(16MB)

所以我用$ out来创建另一个集合。但我不知道如何在nodejs中查询新集合,因为我们还没有为新集合模型声明变量。

谢谢, J

0 个答案:

没有答案