猫鼬:将json数据传递到聚合管道

时间:2019-10-21 14:19:18

标签: json mongodb mongoose

随着查询的大小增大,我选择将查询移至要放入代码中的json文件中,换出需要更改的值以用于过滤条件,然后将解析后的JSON对象提供给聚合方法。尝试此操作时,我始终收到以下错误:“错误:聚合具有空管道”。

但是,如果我将生成的json作为字符串打印并复制并粘贴到Robo 3T中的聚合函数中,它将起作用。我正在通过以下方式从代码中调用聚合方法:Vehicle.aggregate(JSON.parse(queryObj));,其中Vehicle是一个集合,queryObj包含从文件中提取的json。

当我在聚合方法中拥有用于查询的代码时,它就起作用了。

json文件的格式使用的是这种基本格式,尽管它要长得多:

[
   { $match: { status: "A" } },
   { $group: { _id: "$cust_id", total: { $sum: "$amount" } } }
]

是否可以将json对象(在这种情况下为数组)传递给聚合方法?如果是这样,需要进行哪些调整才能使其正常工作?

0 个答案:

没有答案