我尝试从mongo中选择(使用pymongo),查询时间戳。 我的数据库中的一个样本(为了简洁起见):
{
"_id": "",
"tweet": {
"iso_language_code": "en",
"to_user_name": null,
"timestamp": 1355325948,
"created_at": "Wed, 12 Dec 2012 15:25:48 +0000"
}
}
查询,在代码中和python控制台中:
<console>
db.tweets.find({
"tweet.timestamp":{'$gte':1355391000},
"tweet.timestamp":{'$lte':1355414400}
})
<code>
cursor = db.tweets.find({"tweet.timestamp":{'$gte':startEpoch},
"tweet.timestamp":{'$lte':endEpoch}})
分别是星期四,2012年12月13日09:30:00 GMT 和星期四,2012年12月13日16:00:00 GMT 。
应该说,给我发送所有推文 gte this int 和 lte this other int 。但是,它会返回所有内容 - 它似乎根本不会限制这些值。
例如,返回此条目,时间戳为: 1355325948 : Wed,12 Dec 2012 15:25:48 GMT
另外,我理解使用params列表查找(...)是一个隐含的AND。
TIA SO!
答案 0 :(得分:5)
您的查询对象中不能有两个具有相同名称的键。你必须将它们组合成一个像这样的值:
cursor = db.tweets.find({"tweet.timestamp":{'$gte':startEpoch, '$lte':endEpoch}})