全天获取所有MongoDB文档

时间:2017-06-06 13:25:11

标签: python mongodb pymongo

我已经使用python和SQL几周,并且工作很好。但是,我不得不尝试使用mongoDB进行数据存储。我有一个程序,我的所有SQL查询都运行良好,但在mongoDB中,我无法找到类似的查询来执行相同的操作。例如,为了获得24小时的所有行,我放了一个SQL查询,如

    SELECT * FROM `logs` WHERE `etimestamp` BETWEEN "2017-05-30T00:00:00Z" AND 
    "2017-05-30T23:59:59Z" AND `machineid` = "XYZ" 

现在,这很简单。但是,我搜索了mongoDB的类似查询,我无法找到任何查询。我有3到4天的数据,我希望每天的数据存储在一个不同的变量中。

这是我的test.py

import datetime
import pymongo
from datetime import datetime, timedelta

session = driver.session()
conn = pymongo.MongoClient()
db = conn.pymongo_test #pymongo_test is my database
col = db.logs #logs is my collection
a = col.find({"machineid":"XYZ"}) #all the data for that particular machine
print(a[0])

这是我的文件的结构

{
    "_id" : ObjectId("593555fb1d41c83378a06dfc"),
    "machineid" : "XYZ",
    "data" : 0.366022,
    "etimestamp" : ISODate("2017-05-30T00:00:00.000Z"),
    "id" : 1443279,
    "edate" : ISODate("2017-05-30T00:00:00.000Z")
}

我希望该查询在我的python代码中运行。我更新查询时出现此错误

Traceback (most recent call last):
File "test.py", line 13, in <module>
a = col.find({"machineid":"XYZ","etimestamp":ISODate("2017-05-
30T00:00:00Z")})
NameError: name 'ISODate' is not defined

0 个答案:

没有答案