mongodb python $currentDate *** 作详解

mongodb python $currentDate *** 作详解,第1张

概述mongodb python $currentDate *** 作详解

$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 *** 作详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1154297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存