Как запросить документ по значениям, которые находятся в атрибуте, который является массивом?

документ такой:

{
"checkpointIds": [
"1155adc1-cb50-4124-9b5f-7667693a34c0" ,
"1155adc1-cb50-4124-9b5f-7667693a34c1"
] ,
"id":  "1a55dc34-bd30-4915-ada7-ce4972d5df4f"
}

я хочу запросить документы, которые имеют определенные значения внутри атрибута, который является массивом, я пробовал ниже, но он не работает, он просто возвращает все результаты в коллекции

filtered = list(r.table(collection).filter(
            lambda doc: \
                (doc['id'] == _filters.get('id')).default(False) | \
                (doc['checkpointIds'].set_intersection(_filters.get('checkpointIds'))).default(False)
).run(self.rdb_conn))

person Julio Marins    schedule 25.03.2015    source источник


Ответы (1)


Здесь:

filtered = list(r.table(collection).filter(
    lambda doc: \
        (doc['id'] == _filters.get('id')).default(False) | \
        (doc['checkpointIds'].set_intersection(_filters.get('checkpointIds')).is_empty().not_()).default(False)
).run(self.rdb_conn))
person Julio Marins    schedule 25.03.2015