0

现在我有一个日期时间对象,但它不包含所有字段。它缺少分钟、秒和微秒。我想用它通过 Python 从 MongoDB 获取数据。我只是想知道 pymongo 是否会自动填写缺失的字段并将其转换为 ISODATE,还是会产生错误?

编辑:一个例子:

time1='2015-12-17 23'
#assuming already imported all necessary libs
time2=datetime.strptime(time1, '%Y-%m-%d %H')
#for mongo
sq = {'$and': [something.some, {'field1':{'ne':1}}]}
sq['$and'].append({'field2': {'$gt': time2}})
4

1 回答 1

1

在 python 中,没有缺少字段的日期时间对象。所有日期时间字段(与此问题相关)始终具有值。

您创建的方式time2,您未指定的字段将获得值 0,如下所示:

% time2
=> datetime.datetime(2015, 12, 17, 23, 0)
% time2.minute, time2.second, time2.microsecond
=> (0, 0, 0)
time2 == datetime(2015, 12, 17, 23, 0,0,0)
=> True

如上所述,您的time2对象与手动用零填充值时获得的对象相同。

现在您看到您的 datetime 对象没有丢失任何内容,应该清楚 mongodb 是如何处理它的。

于 2015-12-19T16:48:00.217 回答