gpt4 book ai didi

javascript - 在 $set 语句中将时间添加到 $current Date

转载 作者:行者123 更新时间:2023-11-28 05:56:25 24 4
gpt4 key购买 nike

我正在尝试在一个 findOneAndUpdate() 中执行 2 个操作:

  • 更新一个字段中的日期lastUpdatedTimestamp,将其设置为当前日期(这在我的语句中工作正常),
  • 更新其他字段expiryTimestamp中的日期,通过向$currentDate添加1天(我找不到实现它的方法,所以我正在尝试到从上述字段读取的值 $add 1 天 lastUpdatedTimestamp) - (我无法让这个工作)。

    findOneAndUpdate(
    {"_id":123},
    { $currentDate: {"lastUpdatedTimestamp":true}, $set: {"expiryTimestamp": {$add: ["$lastUpdatedTimestamp", 24*60*60000]}}}
    )

这是我收到的错误:{ "ok": 0.0, "errmsg": "'expiryTimestamp.$add' 中的美元 ($) 前缀字段 '$add' 存储无效。", "code": 52 }

这可能吗?我将非常感谢您的帮助。

最佳答案

您可以使用setDate()方法设置“expiryTimestamp”值。

db.collection.updateOne(
{ "_id": 123 },
{ "$set": {
"lastUpdatedTimestamp": new Date(),
"expiryTimestamp": new Date().setDate(new Date().getDate() + 1)
}}
)

您不需要使用findOneAndUpdate除非您想返回新的或旧的文档。

关于javascript - 在 $set 语句中将时间添加到 $current Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639252/

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