gpt4 book ai didi

同一列的日期和字符串格式的 MongoDB 日期

转载 作者:行者123 更新时间:2023-12-03 20:40:01 27 4
gpt4 key购买 nike

我有一个集合,其中同一列具有不同记录的日期和字符串格式日期,具有相同的 ISO 模式,如 2021-04-22T14:10:48.751779Z。

我需要构建一个统一的搜索查询,使用 =、>、< 搜索选项。第二个问题是输入搜索查询具有不同的模式(“2021-04-22”)

那么问题是:

  • 我能否在搜索前对现有表数据进行某种转换,例如从日期到字符串,或者如果我有一个字符串值,则此转换不会导致任何异常。在这种情况下,我将能够通过 $eq、$lt、$gt 和 $regex 查询选项执行搜索。我不考虑将字符串转换为日期,即使这是可能的,因为我的输入没有“14:10:48.751779Z”,这部分日期和查询将找不到任何内容,因为日期不匹配。对于这种情况,$regex 看起来是唯一的解决方案。

或者您的任何其他建议将被考虑。

当前不满足DB列为String类型的查询:

{
"aggregate":"collection_name",
"pipeline":[
{
"$match":{
"$and":[
{
"some_column":{
"$eq":"some_value"
}
},
{
"date_column_with_string_or_date_type":{
"$gt":{
"$date":"1980-01-01T00:00:00Z"
}
}
}
]
}
},
{
"$project":{
"_id":1
}
}
]
}

最佳答案

通过使用 $expr 和 $toString 解决这适用于“date_column”的日期和字符串类型

$match: {
$expr: {
$gt : [
{ $toString:"$date_column" },
"2021-04-22"
]
}
}

运营商:

关于同一列的日期和字符串格式的 MongoDB 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67390414/

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