2017-01-30 15 views
1

У меня есть массив, содержат некоторые ID:Как найти значение поля в которой равна любое значение в массиве

["4007fa1c-4e27-4d2e-9429-f3631171760c", 
"a21649a3-1a64-45cf-b92a-e899a7ef4742", 
"1903a571-b166-4f93-9c1c-93dc66067a49", 
"2845d278-5ec4-45e9-ab9c-999178332c73", 
"4e3ed481-a3d9-4689-8873-5c912668b26f", 
"390e89fd-d680-4264-8806-8295b361d2f1"] 

Я хотел бы благодаря этому массиву, найти все сообщения, имеющие для «OriginID», один из Идентификаторы, присутствующие в таблице.

Я начал что-то в этом роде, но я не знаю, как закончить работу над этим кодом.

curs, _ = r.Table("posts"). 
      Filter(r.Row.Field("Validated").Eq(false)). 
Filter(func(customer r.Term) interface{}{ 
    for _, id := range listOriginID { 
     //I don't know how to finish 
    } 
}) 

Спасибо за вашу помощь

+0

Вы могли бы быть более конкретными на образце кода? Игра будет отличной –

ответ

1

Когда вы оказываетесь пытается перебрать массив внутри запроса ReQL, часто бывает проще, или необходимо использовать встроенный в операциях ReQL, таких как Map или ConcatMap.

В этом случае Contains, похоже, является той операцией, которую вы хотите. Попробуйте что-то вроде:

(...).Filter(func(post r.Term) interface{}{ 
    r.Expr(listOriginID).Contains(post.Field("OriginID")) 
}) 
+0

Это работает, спасибо! – Fantasim