rethinkdb 'или' фильтр все еще возвращает результат, даже если параметры фильтра недействительны - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь получить результат, в котором строка 'origin' равна 'person' или row 'type' равна 'human', ниже приведено то, что я пробовал

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

да, это вернулось, но проблема в том, что даже если я введу недопустимые значения, например,

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

он все равно возвращает приведенный выше результат, как будто он просто не фильтруется. Ниже приведен результат возврата

{"creat_at": "6 января 2019 | 07:32 AM", "id": "99f84427-422b-4768-bed8-4d08fc62ff15", "origin": "human", "type": "персона"}

Я даже пытался

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

но, к сожалению, тот же результат. Любая помощь, идеи, пожалуйста?

1 Ответ

0 голосов
/ 06 января 2019

Я запутался, что вы пометили свой вопрос с помощью "rethinkdb-javascript", но ваши запросы относятся к драйверу python. Javascript-версия вашего запроса работает нормально:

r.db("identitydb").table("connections")
   .filter(r.row("origin").eq("person").or(r.row("type").eq("human")))
...