如何找到等于数组中任意值的字段值
How to find field's value whose equal any value in array
我有一个包含一些 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" 的帖子,table 中存在的 ID 之一。
我已经开始做类似的事情,但我不知道如何完成这段代码。
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
}
})
感谢您的帮助
当您发现自己试图在 ReQL 查询中迭代数组时,通常更容易或有必要使用 built-in ReQL 操作,例如 Map
或 ConcatMap
。
在这种情况下,Contains
似乎是您想要的操作。尝试类似的东西:
(...).Filter(func(post r.Term) interface{}{
r.Expr(listOriginID).Contains(post.Field("OriginID"))
})
我有一个包含一些 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" 的帖子,table 中存在的 ID 之一。
我已经开始做类似的事情,但我不知道如何完成这段代码。
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
}
})
感谢您的帮助
当您发现自己试图在 ReQL 查询中迭代数组时,通常更容易或有必要使用 built-in ReQL 操作,例如 Map
或 ConcatMap
。
在这种情况下,Contains
似乎是您想要的操作。尝试类似的东西:
(...).Filter(func(post r.Term) interface{}{
r.Expr(listOriginID).Contains(post.Field("OriginID"))
})