假设我有一个SON文档(通常使用mongodb查询获取,但不一定),以及查询过滤器表达式(例如{ 'x': {'$ne': 5} }
),是否有客户端方式来测试文档过滤器(使用pymongo)?
预期行为:
satisfies({ 'x': 1 }, { 'x': {'$ne': 5} })
=> True
satisfies({ 'x': 5 }, { 'x': {'$ne': 5} })
=> False
答案 0 :(得分:2)
MongoDB的匹配算法是用C ++编写的。你需要在Python中至少部分重写匹配器,据我所知,这不会存在。
答案 1 :(得分:2)
我找到了这个有趣的mongomock项目。
似乎是filter_applies()函数。
def filter_applies(search_filter, document):
"""
This function implements MongoDB's matching strategy over documents in the find()
method and other related scenarios (like $elemMatch)
"""
...