【问题标题】:Incrementing a date in javascript, in order to update MongoDB在javascript中增加日期,以更新MongoDB
【发布时间】:2016-01-12 13:27:42
【问题描述】:

在 MongoDB 集合中,我有 3 个对象。我需要更新每个对象中的一个变量(日期类型)。主要任务是增加对象的日期。例如:所有对象都有相同的变量:

"Time1" : ISODate("2016-01-12T21:37:46.738Z")

我的问题是用当前日期更新第一个对象,我手动这样做是这样的:

$db.getCollection('my.data')({'_id':ObjectId("52e637fca92cf1ec6a73c1e8")}, {$currentDate: {Time1: true}})

接下来是将第二个对象的日期增加1天,我的意思是用明天的日期更新它。我无法通过 shell 执行此操作,因为 $inc 不适用于 Date 类型。 所以,我迷失了 javascript

我找到了如何使用 java 脚本获取它,但我不知道如何在一个脚本中收集所有内容。

var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);

感谢您的帮助。

【问题讨论】:

    标签: javascript mongodb date


    【解决方案1】:

    您可以对其他字段使用 $set 运算符,以及更新对象中的 $currentDate 运算符:

    var tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate()+1);
    
    var dayAfterTomorrow = new Date();
    dayAfterTomorrow.setDate(dayAfterTomorrow.getDate()+2);
    
    db.getCollection("my.data").update(
        { "_id": ObjectId("52e637fca92cf1ec6a73c1e8") },
        { 
            "$currentDate": { "Time1": true },
            "$set": {
                "Time2": tomorrow,
                "Time3": dayAfterTomorrow
            }
        }
    )
    

    【讨论】:

      猜你喜欢
      • 2011-04-10
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多