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

时间:2017-09-30 22:22:55

标签: python mongodb pandas

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

1 个答案:

答案 0 :(得分:1)

您正在将实际日期时间与字符串混合。 MongoDB不会将日期时间$in自动转换为str()等值。试试这个;注意锚:

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