我的猫鼬有一个奇怪的问题。我有一个包含整数数组的记录。我试图总结数组(它的名字是counts),并在两个值之间运行一个范围查询。例如,我们有一些记录,例如;
[0,30,20]
[10,40,50]
[0,3,5]
当我想找到0-50之间的数组时,我需要获取
[0,30,20]
[0,3,5]
现在让我解释一下奇怪的事情。我正在使用指南针通过GUI查看所有数据。我在其中写了必要的查询,结果与预期的一样。
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)
});
};
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进行硬编码时,代码有效。我很困惑
谢谢