2014-10-30 29 views
1

有没有办法在字典的列表(或可迭代)上使用pymongo find方法而不是在数据库上执行搜索?pymongo查找列表而不是db

我有一个词典列表,我想用像pymongo这样的查询来过滤它们。

有什么图书馆可以做到这一点?

+0

相关或甚至重复:http://stackoverflow.com/q/19950310/2096752 – shx2 2014-10-30 17:44:26

+0

上面@ shx2发布的链接确实回答我的问题。我投了赞成这个问题被标记为重复。 – 2014-10-31 09:39:24

回答

0

你不需要外部库来完成这个简单的任务。如果我理解正确,你只需要根据某些值过滤字典列表。

def find(dict_list, key, value_list): 
    return [dict for dict in dict_list if dict[key] in value_list] 

然后,您可以传递一个字典列表来匹配您要搜索的密钥的值和密钥的值。

+1

这不完全是我需要的。我需要支持嵌套的字典和列表,以及特殊的运算符,这些运算符将允许像{'price':{'$ lt':10}}这样的查询。 'mongomock.filtering'中的'filter_applies'就是这么做的。 – 2014-10-31 12:48:44