猫鼬聚合查询返回空结果

时间:2020-07-25 14:35:24

标签: node.js mongodb mongoose

我的猫鼬有一个奇怪的问题。我有一个包含整数数组的记录。我试图总结数组(它的名字是counts),并在两个值之间运行一个范围查询。例如,我们有一些记录,例如;

[0,30,20]
[10,40,50]
[0,3,5]

当我想找到0-50之间的数组时,我需要获取
[0,30,20]
[0,3,5]

现在让我解释一下奇怪的事情。我正在使用指南针通过GUI查看所有数据。我在其中写了必要的查询,结果与预期的一样。

GUI

NODEJS代码

findByRange(min, max) {
        console.log(min);
        console.log(max)
        return RecordDBModel.aggregate([
            {
                $project: {
                    sum: { $sum: '$counts' }
                }
            },
            {
                $match: {
                    sum: { $gt: min, $lt: max }
                }
            }
        ], function(err,result){
            if(err){
                console.log(err)
            }
            console.log(result)
        });
    };

SCHEMA

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

let RecordSchema = new Schema({
    key: String,
    createdAt: Date,
    counts: [Number],
    value: String
});

module.exports = mongoose.model('Record', RecordSchema);

当我在max和min中给出相同的输入时,我的响应是空的。我在做什么错了?

重要:当我对min和max进行硬编码时,代码有效。我很困惑

谢谢

0 个答案:

没有答案