【问题标题】:Pymongo: can I query a pymongo query object?Pymongo:我可以查询 pymongo 查询对象吗?
【发布时间】:2013-03-07 07:27:33
【问题描述】:

我在 python 中有一个使用 pymongo 的查询,效果很好。它返回单个用户的条目。稍后在脚本中,我想缩小这个结果。我想每天迭代,并再次查询该用户仅在这一天有多少条目。

问题是:我需要进行新的查询,还是可以查询我已有的对象?

谢谢

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    您不能简单地过滤您拥有的结果,而不是使用新查询再次访问数据库吗?

    todays_entries = [item for item in iterable if function(item)]
    

    解释:

    您的查询结果将是一个条目列表。我猜您首先以某种方式使用该列表,然后在代码中您想要计算今天创建的所有条目。

    Python 有一种很棒的过滤列表的方法。可在此处找到相关文档:
    Python Filter Function

    我上面写的代码只是使用该函数的一种更 Pythonic 的方式。由于我没有你的代码,我只能猜测它对你来说可能是什么样子。也许是这样的:

    todays_entries = [entry for entry in all_entries if entry.date == todays_date]
    

    当然:entry.date 的格式必须与 todays_date 类似

    【讨论】:

    • 我有一个这样的 pymongo 查询:myDocs = db.collection.find({'userID':myUser})...对不起,但我不明白你的答案 :-(。我不是最专业的 python 程序员。你能解释一下吗再次考虑我的代码?
    • 由你决定——你可以发出一个带有额外过滤的新查询,或者像 @bobmoff 在 python 中描述的那样进行过滤。如果您仍然拥有所有数据 - 在 python 中进行过滤可能会更容易。
    猜你喜欢
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 2013-09-11
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多