$currentDate(当前时间)

最后更新:2026-10-09

$currentDate(当前时间)

$currentDate 将字段值设为当前时间,可存为日期(Date)或时间戳(Timestamp)。`{ $currentDate: { lastModified: true } }` 默认存 Date;`{ $currentDate: { lastModified: { $type: 'timestamp' } } }` 存 Timestamp。与客户端 new Date() 相比更精确,且避免服务器与客户端时差问题。

分类更新字段
MongoDB 版本3.6+
示例语言mongosh (Shell)

📝 语法

{ $currentDate: { <字段>: true | { $type: 'timestamp' | 'date' } } }

⚙️ 参数

字段要设为当前时间的字段名。
类型true 存 Date;也可显式指定 'timestamp' 或 'date'。

返回值:更新结果文档

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $currentDate:记录修改时间
// true 默认存 Date 类型
db.articles.updateOne(
  { _id: 1 },
  { $currentDate: { lastModified: true } }
)

// 显式指定存 Timestamp
db.articles.updateOne(
  { _id: 1 },
  { $currentDate: { lastModified: { $type: 'timestamp' } } }
)

运行结果:

// 文档 lastModified 被设为服务器当前时间(Date 或 Timestamp)

📌 注意事项

📚 相关教程

❓ 常见问题

Q$currentDate 和 $set: new Date() 有什么区别?
A$currentDate 在服务器端取值更精确统一;$set 用客户端时间,多客户端可能不一致。
Q能存 Timestamp 类型吗?
A能,{ $type: 'timestamp' } 显式指定。
Q$currentDate 会覆盖已有值吗?
A会,直接覆盖为当前时间。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏