Python Pymongo-查询具有特定日期的所有字符串

Python Pymongo-查询具有特定日期的所有字符串,python,mongodb,pandas,Python,Mongodb,Pandas,我有一个mongo db(‘test’)和一个集合(‘main’),该集合有一个存储了日期时间的字段。示例日期如下所示: 2017-07-20T22:56:28.121000Z 日期存储为字符串 我想查询2017-07-20发生的所有数据的集合,并将其拉入一个数据框。下面是我正在尝试的代码: import datetime the_date = datetime.datetime(2017,7,20) # Date I want to query import pymongo import p

我有一个mongo db(‘test’)和一个集合(‘main’),该集合有一个存储了日期时间的字段。示例日期如下所示:

2017-07-20T22:56:28.121000Z

日期存储为字符串

我想查询2017-07-20发生的所有数据的集合,并将其拉入一个数据框。下面是我正在尝试的代码:

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运算符不起作用,但没有更好的方法。

您将实时日期时间与字符串混合在一起。MongoDB不会将中带有日期时间的
$in自动转换为
str()
等价项。请尝试此操作;注意锚点:

data = pd.DataFrame(list(collection.find({'time': {'$regex': '^2017-07-20'}} )));

很好的解决方案。我在没有锚的情况下尝试了一下,收到了一个空帧,所以这个消息非常重要。