node.js - node js比较mongodb数据库时间和服务器的当前时间
问题描述
如果存储在 mongodb 数据库上的日期比当前系统/服务器时间旧,我有下面的代码将 offer_status 更新为“过期”;
dbo.collection("offers").updateMany({older_date_in_DB:{$lt: current_system_time},
{$set:
{offerStatus:"EXPIRED"}},
(err,response)=>{
if(err) throw err;
console.log(response.modifiedCount)
})
但是,我注意到如果当前日期是 2019 年 10 月 18 日,而 old_date_in_db 是 2019 年 8 月 1 日,则上面的查询不会将报价状态更新为“已过期”。我不明白为什么?像 2019 年 10 月 15 日这样的日期会将状态更新为“已过期”,而像“2019 年 8 月 1 日”这样的日期不会。
解决方案
请使用以下行在 mongodb 中比较日期条件
{ older_date_in_DB: { $lt: new Date('10/18/2019') } }
如果值为 dateFormat 则使用 new 关键字
推荐阅读
- user-interface - 如何创建类似于 Blender 或 Maya 的桌面 GUI 应用程序?
- asynchronous - Dart 中的 Stream 和 Future
- ruby-on-rails - Rails bootstrap_checkbox 不反映表的值 - 显示全部关闭
- kubernetes - Flyway - Springboot - Kubernetes
- selenium-webdriver - 无法使用 ID 或名称定位元素
- python - 日期列上的左合并在熊猫中表现得很奇怪
- generics - 如何存储模型的收集路径?
- spring-boot - 如何在spring boot应用程序中避免“类路径资源[...]无法打开,因为它不存在”?
- asp.net-mvc - 401 Unauthorized : WWW-Authenticate: Bearer
- if-statement - 这个表达式有什么作用?Gui % (MainGui:=!MainGui) ? “隐藏”:“显示”