gpt4 book ai didi

go - 为什么 Contains in .Filter(func()) 在 gorethink 中不起作用并且部分查询被忽略?

转载 作者:IT王子 更新时间:2023-10-29 02:21:59 25 4
gpt4 key购买 nike

我正在尝试这样做:

r.table(table).filter(
function (doc) {
return r.expr(array)
.contains(doc("name"));
}
)

用golang写的就是

rethink.Table(table).GetAllByIndex(index, value).Filter(func(row rethink.Term) interface {}{

return rethink.Expr([]string{}).Contains(row.Field("type"))
})

我不确定,但好像 rethink.Expr 被忽略了。这是第一个问题。

接下来是第二个问题。如果我有这样写的查询:

query := rethink.Table(table).GetAllByIndex(index, value)

然后尝试下一步:

if some_condition {
q.Filter(some_filter)
}

if some_other_condition {
q.Filter(some_other_filter)
}

当我打印出 q.String() 时,我只得到了第一部分,其他所有内容都被忽略了 rethink.Table(table).GetAllByIndex(index, value)

最佳答案

Filter方法返回一个新的 Term ,其中将包含前一项的表达式,您需要将结果重新赋值回 q

if some_condition {
q = q.Filter(some_filter)
}

if some_other_condition {
q = q.Filter(some_other_filter)
}

关于go - 为什么 Contains in .Filter(func()) 在 gorethink 中不起作用并且部分查询被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43995683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com