MongoDB aggregate lookup let 变量问题
MongoDB aggregate lookup let variables problem
我创建了一个 mongoplayground 以使其更易于理解。
https://mongoplayground.net/p/8zhkcMyLkmy
基本上,我卡在第 108 ~ 111 行之间,因为在 MongoDB Compass 中,相同的聚合管道不起作用。
图片如下:
如果我只是将“$$date”更改为其日期:
即使我在日期函数中插入变量:
有人知道为什么它在 compass 中不起作用而在 mongoplayground 中起作用吗?
为了最佳实践,比较日期字符串时,需要先转换为 date
(通过 $toDate
)。
$lte: [ { $toDate: "$date" }, { $toDate: "$$date" }]
Comparison/Sort Order (MongoDB Manual) - String section
By default, MongoDB uses the simple binary comparison to compare strings.
因此,比较字符串格式的日期将导致结果不准确。
我创建了一个 mongoplayground 以使其更易于理解。
https://mongoplayground.net/p/8zhkcMyLkmy
基本上,我卡在第 108 ~ 111 行之间,因为在 MongoDB Compass 中,相同的聚合管道不起作用。
图片如下:
如果我只是将“$$date”更改为其日期:
即使我在日期函数中插入变量:
有人知道为什么它在 compass 中不起作用而在 mongoplayground 中起作用吗?
为了最佳实践,比较日期字符串时,需要先转换为 date
(通过 $toDate
)。
$lte: [ { $toDate: "$date" }, { $toDate: "$$date" }]
Comparison/Sort Order (MongoDB Manual) - String section
By default, MongoDB uses the simple binary comparison to compare strings.
因此,比较字符串格式的日期将导致结果不准确。