mysql - MongoDB 相当于 NOW() + INTERVAL

标签 mysql mongodb mongodb-query mongodb-php

我目前正致力于将我们的 PHP 后端从 MySQL 转换为 MongoDB。

我们经常在 MySQL 中使用这样的东西:

UPDATE table_1 SET completion_time = NOW() + INTERVAL 90 MINUTE WHERE id = 1;

我如何在 MongoDB 中执行此操作?我需要使用 2 个查询吗?第一个查询用 $currentDate 设置 completion_time 和第二个查询来增加它?我读到 $inc 不适用于 MongoDB 中的日期,不过 ...

最佳答案

您可以尝试创建一个日期变量来保存当前日期和 90 分钟后的日期,然后您可以使用它来设置更新中的 completion_time 字段:

var ninetyMinutesLater = new Date();
ninetyMinutesLater.setMinutes(ninetyMinutesLater.getMinutes() + 90);
db.table_1.update(
   { "_id": 1 },
   {     
     "$set": {
        "completion_time": ninetyMinutesLater 
     }
   }    
);

关于mysql - MongoDB 相当于 NOW() + INTERVAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29207084/

相关文章:

python - 为什么我无法使用 python 和 mysql.connector 连接到 mysql 数据库?

mongodb - 如何使用 Mongoose 和 MongoDB 2.6 插入到子文档中数组中的特定位置

arrays - 蒙戈更新 : upsert an element in array

MongoDB 聚合 - 根据数据数组过滤结果

java - Ubuntu 16.04中Java程序无法连接MYSQL数据库(通信链路故障)

mysql - 优化mysql慢查询

mysql - 如何在mysql中进行数学计算?

node.js - 如何比较数组mongodb查询

node.js - 无法识别环境变量的 TypeScript 声明

python - MongoDB 中的错误排序