【问题标题】:Convert string to date in pymongo在pymongo中将字符串转换为日期
【发布时间】:2021-01-25 00:44:12
【问题描述】:

使用 Community MongoDB 4.4.3,我有一个示例测试集合:

client = pymongo.MongoClient('localhost', 27017)
db = client.test
collection = db.test_collection
print(collection.find_one())

>>> {'_id': ObjectId('600d8e2f4cf39c04cdb86ea0'),
 'id': '0706.1314',
 'update_date': '2008-12-18'}

我正在尝试使用$toDate operator 将字段update_date 的字符串转换为日期:

collection.aggregate([{"$toDate": "update_date"}])

但是得到以下错误:

OperationFailure: Unrecognized pipeline stage name: '$toDate', full error: {'ok': 0.0, 'errmsg': "Unrecognized pipeline stage name: '$toDate'", 'code': 40324, 'codeName': 'Location40324'}

为什么会这样?

【问题讨论】:

标签: mongodb python-3.6 pymongo


【解决方案1】:

您需要指定输入字段如下:

 collection.aggregate([  {$project:{ newField:{"$toDate": "$update_date"}}}       ])

【讨论】:

  • 这个collection.aggregate([{"$toDate": "$update_date"}]) 给出了同样的错误OperationFailure: Unrecognized pipeline stage name: '$toDate'
  • 您需要将值分配给字段,最简单的方法是在 $project 阶段进行,检查更新的答案
猜你喜欢
  • 2015-04-27
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 2016-05-03
相关资源
最近更新 更多