0

假设我有一个 SON 文档(通常使用 mongodb 查询获取,但不一定)和一个查询过滤器表达式(例如{ 'x': {'$ne': 5} }),是否有客户端方法来针对过滤器测试文档(使用 pymongo)?

预期行为:

satisfies({ 'x': 1 }, { 'x': {'$ne': 5} })
=> True
satisfies({ 'x': 5 }, { 'x': {'$ne': 5} })
=> False
4

2 回答 2

2

MongoDB 的匹配器算法是用 C++ 编写的。您至少需要在 Python 中对匹配器进行部分重写,据我所知,它不存在。

于 2013-12-04T17:53:40.573 回答
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)
    """
    ...
于 2014-06-28T09:41:32.347 回答