python - 使用 "$gte"和 "$lte"时 Pymongo 返回错误

标签 python mongodb datetime pymongo epoch

我正在尝试从 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 GMT2012 年 12 月 13 日星期四 16:00:00 GMT

应该是说,给我所有推文gte this intlte this other int。但是,它返回一切 - 它似乎根本没有限制值。

例如,返回此条目,时间戳为:1355325948 即:Wed, 12 Dec 2012 15:25:48 GMT

另外,我的理解是带有参数列表的 find(...) 是一个隐式的 AND。

太好了!

最佳答案

查询对象中不能有两个同名的键。您必须像这样将它们组合成一个值:

cursor = db.tweets.find({"tweet.timestamp":{'$gte':startEpoch, '$lte':endEpoch}})

关于python - 使用 "$gte"和 "$lte"时 Pymongo 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907935/

相关文章:

python - 如何在 Git 中只包含另一个存储库中的一个文件夹?

java - Java获取当前月份的天数

mysql - 如何最好地在 MySql 中存储日期/时间?

Python线性回归模型(Pandas、statsmodels)-值错误: endog exog matrices size mismatch

python - 重新组织Python字典中的输出数据

Python有趣的数组索引

mongodb - 吗啡的索引注释不起作用

java - 如何使用 Java 创建类以将文档保存在 MongoDB 中

javascript - Mongoose :使用钩子(Hook)/中间件来删除引用的对象(有很多)

java - 如果月份是 3 个字母的字符串,如何计算 2 个日期之间的年数