mongodb - 在 MongoDB 中将日期递增到日期
问题描述
如何在无需手动设置日期的情况下将文档中的日期增加 7 天?
Collection Data:
{
"_id" : ObjectId("5e302f83edd1fd00125abbf9"),
"dateTransferred" : 2020-01-26T00:00:00.000+00:00
}
我可以使用以下方法轻松更新集合:
db.data.updateMany(
{},
{
"$set": { "dateTransferred": new ISODate("2020-02-03T03:34:54Z") }
}
)
有没有办法可以动态更新它(类似于 DateAdd)
解决方案
是的,在 MongoDB 4.2+ 中,您可以像这样更新它:
db.col.updateOne(
{ "_id": ObjectId("5e302f83edd1fd00125abbf9") },
[
{ $set: { dateTransferred: { $add: ["$dateTransferred", 1000 * 60 * 60 * 24] } } }
]
)
当然,如果您想更新所有文档,那将是
db.col.updateMany(
{},
[
{ $set: { dateTransferred: { $add: ["$dateTransferred", 1000 * 60 * 60 * 24] } } }
]
)
推荐阅读
- tfs - 如何从本地 TFS 2018.2 迁移到 DevOps 服务器
- ssis - 我想参数化与 Excel 文件的连接。但是文件的位置在sql server的一个表中。我怎样才能建立连接?
- php - 使用 PHP 脚本将 CSV 导入 MySQL
- optimization - 降低 CPU 频率的 SIMD 指令
- mongodb - MongoDB展开聚合查询给出意想不到的结果
- raspberry-pi - 树莓派中的node-red exec节点无法执行关机
- winforms - 根据其他控件留下的空间自动调整大小控件
- javascript - 当通过 JavaScript 添加输入元素时,p5.js Canvas 不显示任何内容
- google-apps-script - 完成对行的处理后更改列上的数据
- c++ - 为什么这个宏产生 2?