$currentDate *** 作指定字段的值设置为当前日期,可以是一个日期 或时间戳记。默认类型为Date。
参数如下:
{ $currentDate: { <fIEld1>: <typespecification1>, ... } }
<typespecification>
如下:
字段值可以为一个布尔值:true,代表当前的日期为Date
或者文档明确指定类型,运算符区分大小写,并且仅接受timestamp和date都是小写字母。{ $type: "timestamp" } or { $type: "date" }。
通俗来说,要么为true or { $type: "timestamp" } or { $type: "date" },这三个参数选择其一。建议使用 { $type: "timestamp" } 。
示例:
创建一个customers的集合
db.customers.insertOne( { _ID: 1, status: "a", lastModifIEd: ISODate("2013-10-02T01:11:18.965Z") }) # ISODate在python就是datetimefrom datetime import datetimedb.customers.insert_one( { "_ID": 1, "status": "a", "lastModifIEd": datetime.strptime("2020-02-06 16:11:18","%Y-%m-%d %H:%M:%s") } )
修改其数据,下面 *** 作更新lastModifIEd字段为当前日期,同时新增字段cancellation.date为当前的时间戳,新增cancellation.reason="user request",更新status="D"。
db.customers.update_one( { "_ID": 1 }, { "$currentDate": { "lastModifIEd": True, "cancellation.date": { "$type": "timestamp" } }, "$set": { "cancellation.reason": "user request", "status": "D" } })
查询修改后的结果
db.customers.find().pretty()
修改后数据如下:
{ '_ID': 1, 'status': 'D', 'lastModifIEd': datetime.datetime(2020, 2, 6, 8, 24, 41, 746000), 'cancellation': {'date': Timestamp(1580977481, 1), 'reason': 'user request'}}
注意:
使用date创建的时间是utc时间
参考:
https://docs.mongodb.com/manual/reference/operator/update/currentDate/index.html
总结以上是内存溢出为你收集整理的mongodb python $currentDate *** 作详解全部内容,希望文章能够帮你解决mongodb python $currentDate *** 作详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)