gpt4 book ai didi

mongodb - 正则表达式过滤器如何应用于mongodb中的日期(isodate)类型字段

转载 作者:行者123 更新时间:2023-12-05 05:18:11 25 4
gpt4 key购买 nike

我试图将正则表达式过滤器(年)应用于日期类型字段,但查询未返回任何结果。那么是不是试图了解此查询的行为?

db.collection.find({"ReportedDate":/2016/i})

注意:我可以不用正则表达式按日期类型过滤它。但我只是想了解正则表达式过滤器针对日期类型字段的行为?

最佳答案

从 MongoDB version >= 4.4 开始,我们可以使用 $function 编写自定义过滤器运算符(operator)所以试试这个:

let yearRegex = /2016/i;

db.collection.find({
$expr: {
$function: {
body: function(reportedDate, yearRegex) {
return yearRegex.test(reportedDate);
},
args: [{ $toString: "$ReportedDate" }, yearRegex],
lang: "js"
}
}
});

注意:代替$toString我们也可以使用 $dateToString使用 timezone 来覆盖边缘情况。

关于mongodb - 正则表达式过滤器如何应用于mongodb中的日期(isodate)类型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48112557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com