【发布时间】:2020-05-01 10:30:24
【问题描述】:
我尝试使用 pyMongo 向 MongoDB 中的文档添加另一个字段。作为示例,我从here 获得了随机用户,我将在“注册”部分添加另一个字段:
from datetime import datetime
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client['metadata']
db.users.update_many({},
[{
"$set":{
"registered.newField" : "$registered.date"
}
}])
这是完美的,但每当我要使用另一个函数并使用 "$registered.date" 作为输入参数时,似乎 "registered.date" 不再被解析。
db.users.update_many({},
[{
"$set":{
"registered.newField" :
datetime.strptime(
"$registered.date" ,
"%Y-%m-%dT%H:%M:%S.%fZ").year
}
}])
这个抛出异常:
时间数据“$registered.date”与格式不匹配 '%Y-%m-%dT%H:%M:%S.%fZ'
这是文档的样子:
{
"gender": "male",
"name": {
"title": "mr",
"first": "brad",
"last": "gibson"
},
"registered": {
"date": "2002-05-21T10:59:49.966Z",
"age": 17
},
.....
}
【问题讨论】:
标签: python mongodb mongodb-query aggregation-framework pymongo