即使过滤器参数无效,rethinkdb'或'过滤器仍返回结果

时间:2019-01-06 05:15:15

标签: rethinkdb rethinkdb-javascript

我正在尝试检索行“ origin”等于“ person”或行“ type”等于“ human”的结果,以下是我尝试过的结果

r.db('identitydb').table('connections').filter( 
  ( { "origin" : "person" } ) | ( { "type" : "human" } )
);

是的,它确实返回了,但是问题是即使我输入了无效的值,例如

r.db('identitydb').table('connections').filter( 
  ( { "origin" : "persss" } ) | ( { "type" : "humaxxxn" } )
);

它仍然返回上面的结果,就像不过滤一样。以下是返回结果

  

{“ created_at”:“ 2019年1月6日|上午07:32”,“ id”:   “ 99f84427-422b-4768-bed8-4d08fc62ff15”,“来源”:“人”,“类型”:   “人”}

我什至尝试

r.db('identitydb').table('connections').filter( 
  ( r.row["origin"] == "person" ) | ( r.row["type"] == "human" )
);

但不幸的是,结果相同。有什么帮助吗,想法吗?

1 个答案:

答案 0 :(得分:0)

我很困惑,您用“ rethinkdb-javascript”标记了您的问题,但您的查询是针对python驱动程序的。您查询的javascript版本工作正常:

m.erase(key1);
m[key2] = value;