我有一个看起来像这样的表:
[
{ "name": "Alpha", "values": {
"someProperty": 1
}},
{ "name": "Beta", "values": {
"someProperty": 2
}},
{ "name": "Gamma", "values": {
"someProperty": 3
}}
]
我想选择someProperty
不在某些值数组中的所有记录(例如,someProperty
不在[1, 2]
中的所有记录。我想要获取完整记录,而不仅仅是someProperty
的值。
我应该如何使用RethinkDB执行此操作?
答案 0 :(得分:5)
在python中它将是:
table.filter(lambda doc: r.not(r.expr([1,2]).contains(doc["someProperty"]))
如果数组来自子查询,并且您不想多次执行此操作:
subquery.do(lambda array:
table.filter(lambda doc: r.not(array.contains(doc["someProperty"]))))