RethinkDB过滤lambda 2字段

时间:2016-12-19 08:21:37

标签: lambda rethinkdb

我在RethinkDB中的语句有点问题。

我有以下数据集:

{
    candidate_details :{
        "name" : "User test 1"
    },
    for_job : "long-id-1234"
}
{
    candidate_details :{
        "name" : "User test 10"
    },
    for_job : "long-id-56789"
}
{
    candidate_details :{
        "name" : "User test 9"
    },
    for_job : "long-id-1234"
}

当我申请以下声明时:

r.table("table").filter(lambda doc:
                                            doc.has_fields({"for_job_details":{"name"}}) &
                                            doc.has_fields({"candidate_details":{"name"}}) &
                                            (
                                                # candidate_query(doc) &
                                                # job_query(doc)
                                                doc['candidate_details']['name'].downcase().match('') &
                                                doc['for_job'].downcase().match('long-id-1234')

                                            ) &
                                            doc['company_id'].eq(company_id)
                                        ).run(rethink_conn)

它不会返回任何内容 我想让它返回所有具有工作ID“long-id-1234”且匹配“”

的“候选人”

我做错了什么?

如果我消除了2个语句中的任何一个(匹配),它就可以了,但不能一起使用 我也想在一个过滤器中做到这一点 如果我做2个过滤器,它可以工作。

修改

问题不是由doc.has_fields条件引起的。

0 个答案:

没有答案