我已经构建了一个Twitter scraper,将tweets存储到MongoDB中。现在我试着用PyMongo查询数据。
存储在我的MongoDB中的数据:
{
"_id": {
"$oid": "5555dc0e50f808afe0da52fe"
},
"text": "Lorem Ipsum...",
"created_at": {
"$date": "2015-05-15T10:55:16.000Z"
},
}
以下操作非常好(但会获取所有发过的tweet):
dikt1 = {}
tweets_iterator = coll.find({},{ "text": 1, "user.screen_name":1 ,created_at': 1} )
for tweet in tweets_iterator:
dikt1[tweet['text']] = tweet['created_at']
但是,当试图查询某些日期之后的所有日期时,例如:
date1 = datetime.utcnow()-timedelta(days=30)
dikt1 = {}
tweets_iterator = coll.find({},{ "text": 1, "user.screen_name":1 , 'created_at': {'$gt': date1}} )
for tweet in tweets_iterator:
dikt1[tweet['text']] = tweet['created_at']
tweets迭代器中tweet的最后一行:“给出一个错误:
OperationFailure: database error: Can't canonicalize query: BadValue Unsupported projection option: created_at: { $gt: new Date(1434480147418) }
有什么建议吗?
谢谢!
如果要应用筛选器,请将第一个位置参数用于
find()
:相关问题 更多 >
编程相关推荐