RethinkDB:​​相当于"select where field in in(items)"

spi*_*ech 3 rethinkdb

我有一个看起来像这样的表:

[                                                                                                                                                                                                              
    { "name": "Alpha", "values": {                                                                                                                                                                             
        "someProperty": 1                                                                                                                                                                                      
    }},                                                                                                                                                                                                        
    { "name": "Beta", "values": {                                                                                                                                                                              
        "someProperty": 2                                                                                                                                                                                      
    }},                                                                                                                                                                                                        
    { "name": "Gamma", "values": {                                                                                                                                                                             
        "someProperty": 3                                                                                                                                                                                      
    }}                                                                                                                                                                                                         
]
Run Code Online (Sandbox Code Playgroud)

我想选择someProperty不在某些值数组中的所有记录(例如,所有someProperty不在其中的记录[1, 2]).我想找回完整的记录,而不仅仅是价值someProperty.

我应该如何使用RethinkDB执行此操作?

Joe*_*ner 5

在python中它将是:

table.filter(lambda doc: r.not(r.expr([1,2]).contains(doc["someProperty"]))
Run Code Online (Sandbox Code Playgroud)

如果数组来自子查询,并且您不想多次执行此操作:

subquery.do(lambda array:
    table.filter(lambda doc: r.not(array.contains(doc["someProperty"]))))
Run Code Online (Sandbox Code Playgroud)