如何通过属性为数组的值查询文档?

时间:2015-03-25 18:30:16

标签: rethinkdb rethinkdb-python nosql

文件是这样的:

{
"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))

1 个答案:

答案 0 :(得分: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))