我有一个mongo db(' test'),其中包含一个包含存储日期时间字段的集合(' main')。示例日期如下:
2017-07-20T22:56:28.121000Z
日期存储为字符串。
我想查询2017-07-20上发生的所有数据的集合,并将其拉入pandas数据框。以下是我正在尝试的代码:
import datetime
the_date = datetime.datetime(2017,7,20) # Date I want to query
import pymongo
import pandas as pd
from pymongo import MongoClient
client = MongoClient()
db = client.test
collection = db.main
data = pd.DataFrame(list(collection.find({'time': { '$in':[the_date]}})))
data.head()
这只返回一个空框架。我想知道如何使用我正在寻找的具体日期查询mongodb所有数据。我明白为什么$ in运算符不起作用,但没有更好的方法。
答案 0 :(得分:1)
您正在将实际日期时间与字符串混合。 MongoDB不会将日期时间$in
自动转换为str()
等值。试试这个;注意锚:
data = pd.DataFrame(list(collection.find({'time': {'$regex': '^2017-07-20'}} )));