gpt4 book ai didi

javascript - 如何过滤包含给定字符串但也可能包含其他字符串的 airtable 记录?

转载 作者:搜寻专家 更新时间:2023-11-01 00:38:41 25 4
gpt4 key购买 nike

使用 airtable api 的 filterByFormula 方法,我可以查询和选择包含一个特定项目(字符串)的记录。但是,此查询仅返回仅包含该特定字符串的记录。

在此处搜索 airtable api 公式文档: https://support.airtable.com/hc/en-us/articles/203255215-Formula-Field-Reference没有答案。

我有什么:

base('Table').select({
view: 'Main View',
filterByFormula: `Column = "${myFilter}"`
}).firstPage(function(err, records) {
if (err) { console.error(err); reject( err ); }

records.forEach(function(record) {
console.log(record.get('Another Column'));

});

同样,这将返回只有 myFilter 的记录,而不是在给定列中包含任何其他值的记录。

编辑:airtable 将这些列称为“多选”字段类型。

最佳答案

看来 airtable 以 SEARCH 的形式支持与 indexOf 等效的 js。 .来自文档:

SEARCH(find_string, within_string, position)
Returns the index of the first occurrence of find_string in within_string, starting at position. Position is 0 by default.

因此,我们可以使用以下内容作为我们的搜索过滤器值

filterByFormula: `SEARCH("${myFilter}", Column) >= 0`

这将在我们的 Column 中搜索 myFilter 并返回任何结果,如果 myFilter 位于 中的某个位置专栏

注意:可能值得提醒的是,您的 myFilter 属性可能最好将最小字符数至少设置为 2 以提高性能。文档也没有指定不区分大小写的选项,因此您可能希望将 Column"${myFilter}" 包装在 LOWER() 函数,如果你想返回结果而不考虑大写或小写字符。例如

filterByFormula: `SEARCH(LOWER("${myFilter}"), LOWER(Column)) >= 0`

关于javascript - 如何过滤包含给定字符串但也可能包含其他字符串的 airtable 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42429056/

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