0
这是我的MongoDB的文件检索基于ISO日期时间格式从MongoDB的数据,如何使用python
{ "_id" : ObjectId("56c198f53869650eb0e2bc7a"), "Date" : ISODate("2016-02-15T14:50:14Z"), "nocontract" : 299039, "turnover" : 14882.65, "instrument" : "NSEFUT"}
{ "_id" : ObjectId("56c19ffe3869650eb0e2bc7b"), "Date" : ISODate("2016-02-15T15:20:45Z"), "nocontract" : 334464, "turnover" : 16650.6, "instrument" : "NSEFUT"}
{ "_id" : ObjectId("56c1a7073869650eb0e2bc7c"), "Date" : ISODate("2016-02-15T15:30:15Z"), "nocontract" : 351399, "turnover" : 17487.73, "instrument" : "NSEFUT"}
{ "_id" : ObjectId("56c1ae103869650eb0e2bc7d"), "Date" : ISODate("2016-02-15T15:30:15Z"), "nocontract" : 351401, "turnover" : 17487.84, "instrument" : "NSEFUT"}
{ "_id" : ObjectId("56c1b5183869650eb0e2bc7e"), "Date" : ISODate("2016-02-15T15:30:15Z"), "nocontract" : 351401, "turnover" : 17487.84, "instrument" : "NSEFUT"}
我需要查询对于ISO date.when我提供了10:00,无论记录是否在我的数据库在10:00,我应该需要通过python检索。 在这里,我写的代码:
from datetime import datetime, timedelta
from pymongo import MongoClient
conn = MongoClient("mongodb://localhost:27017")
db = conn.index
x = datetime.today()
off = 10
n = off + 1
y = x.replace(day=x.day, hour=off, minute=0, second=0, microsecond=0)
date1 = datetime(2016, 1, 15, off, 0, 0)
for r in db.turnover.find({ 'Date': {'$gte': date1, '$lt': y}}):
print r
但是,当我尝试运行此,它不给适当的输出,因为我want..Can任何人帮我解决这个问题,因为我是新来的蟒蛇MongoDB的。
请查看你给的文件。他们真的有这个奇怪的数量的空白吗?也不清楚你的目标是什么。也许你可以解决这个问题,例如通过解释您给出的样本数据的预期结果... – flaschbier
尝试更改以下部分:* db = conn ['yourDbName'] *,* col = db ['collectionName'] * and * col.find( ...)* – joao
无关:'datetime.today()'返回当地时区的当前时间,使用'datetime.utcnow()'获取UTC时间(由MongoDB使用)。 – jfs