gpt4 book ai didi

node.js - 将字符串转换为日期并获取差异

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:40 26 4
gpt4 key购买 nike

我在“food”模式-mongodb中很少有这样的数据记录

{
"_id": "5b220199acbec1409cbf84dd",
"Name": "Mongo",
"ID_No": "BA1233",
"Content": "Bottle",
"No_packages": 5,
"No_items": 6,
"Qty": 30,
"Mfg": "2018-05-27",
"Exp": "2018-06-30",
"__v": 0
}

我想获取日期差(Exp-today Date)小于30的数据集。我使用以下命令尝试了它。但没有成功。

db.food.find({$lt: { $subtract: [ Date() , Exp ],"30"}}  )

最佳答案

您需要先使用 $dateFromString (aggregation)将日期从字符串转换为日期格式,然后 $redact (aggregation)消除不匹配的文档

db.collection.aggregate([
{ "$addFields": {
"date": {
"$dateFromString": {
"dateString": "$EXP"
}
}
}},
{ "$redact": {
"$cond": [
{ "$lt": [
{ "$divide": [
{ "$subtract": [new Date(), "$date"] },
1000 * 60 * 60 * 24
]},
30
]},
"$$KEEP",
"$$PRUNE"
]
}}
])

关于node.js - 将字符串转换为日期并获取差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50862096/

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