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