MongoDB / PyMongo:BadValue尝试查询之后的所有日期时不支持的投影选项

时间:2015-07-01 18:53:28

标签: python mongodb twitter pymongo

我已经构建了一个Twitter抓取器,可以将推文存储到MongoDB中。现在我正在尝试使用PyMongo查询数据。

我的MongoDB中存储的数据:

{
    "_id": {
        "$oid": "5555dc0e50f808afe0da52fe"
    },
    "text": "Lorem Ipsum...",
    "created_at": {
        "$date": "2015-05-15T10:55:16.000Z"
    },
}

以下作品完美无缺(但每次推文都会发推文):

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 in tweets_iterator:”会出错:

  

OperationFailure:数据库错误:无法规范查询:BadValue不支持的投影选项:created_at:{$ gt:new Date(1434480147418)}

有任何建议吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果要应用过滤器,请使用 namespace :api,:defaults => {format:'json'} do resources :deals end 的第一个位置参数:

find()