【发布时间】:2021-01-19 19:37:31
【问题描述】:
实际上,我在尝试了以前的问题答案后提出了这个问题。但是,我没有找到任何线索,这就是我问的原因
努力实现:
在猫鼬聚合中,我使用管道聚合通过以下查询从集合中获取文档
$match: {
$and: [
{
$expr: {
$eq: ["$device_id", "$$device_id"]
}
},
{
date: {
"$gte": "$billing_cycle_startdate",
"$lte": endOfDay
}
}
]
}
billing_cycle_startdate 将是:2020-12-31T00:00:00.000Z 通过以下查询
{
$addFields: {
billing_cycle_startdate: {
$concat: [
year, "-", month, "-", "$device_details.billing_cycle"
]
},
}
},
{ $set: { billing_cycle_startdate: { $toDate: "$billing_cycle_startdate" } }},
但此查询返回空结果
如果我跑步
{
date: {
"$gte": new Date("2020-12-31T00:00:00.000Z"),
"$lte": endOfDay
}
}
它按预期返回结果
有没有其他方法可以在不使用 new Date() 函数的情况下将 2020-12-31T00:00:00.000Z 转换为可查询格式,并且还想知道 之间有什么区别>2020-12-31T00:00:00.000Z 和 新日期("2020-12-31T00:00:00.000Z")
还有其他方法可以实现这个查询吗??
提前谢谢..!
【问题讨论】:
-
如果根本没有结果,那一定是比赛阶段正在排除一切。我们可以查看示例文档和完整的管道吗?
-
感谢您的关心,我发现我的查询有问题。使用变量@Joe 只是语法错误
标签: node.js mongodb mongoose mongodb-query