2013-11-13 2 views
0

Скажем, у меня есть документ SON (обычно выбирается с использованием запроса mongodb, но необязательно) и выражение фильтра запроса (например, { 'x': {'$ne': 5} }), есть ли клиентская сторона способ протестировать документ против фильтра (используя pymongo)?Тестирование фильтра на документе на стороне клиента

Ожидаемое поведение:

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

не могли бы вы перефразировать вопрос? –

+0

@ SalvadorDali Счастье, что не ясно? – shx2

+0

Может, это только я, но я действительно не могу понять, что именно вы хотите :-) –

ответ

1

Я нашел этот интересный проект 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) 
    """ 
    ... 
2

алгоритм согласовани MongoDB написана на C++. Вам понадобится, по крайней мере, частичная переработка помощника в Python, который, насколько мне известно, не существует.

Смежные вопросы