猫鼬聚合中的多个$ match值

时间:2018-07-22 13:47:31

标签: node.js mongoose aggregation-framework

我有一个有效的Mongoose聚合查询,其中包含: { "$match": { "sumGroup": { "$in": group }, "sumId":5}},

但是我需要"sumId":5是动态的。我可以从req.params.timesTableid中获取要使用的值,但无法在查询中成功使用它。

我尝试过:
{ "$match": { "sumGroup": { "$in": group }, "sumId":"$$req.params.timesTableid"}},

{ "$match": { "sumGroup": { "$in": group }, "$expr": { "$eq": [ "$sumId", "$$req.params.timesTableid" ] } } },

,但是这两个返回的结果集都是空的。有谁知道我可以如何使该查询动态化?

1 个答案:

答案 0 :(得分:0)

好的,这很尴尬。 req.params.timesTableid的值是一个字符串,当然我的查询需要一个数字。 parseInt(req.params.timesTableid)完成了工作。希望这个答案可以为别人节省一小时左右的生命!