Ken*_*ers 3 javascript node.js airtable
使用 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'));
});
Run Code Online (Sandbox Code Playgroud)
同样,这将返回只有 myFilter 的记录,而不是在给定列中包含任何附加值的记录。
编辑:airtable 将这些列称为“多选”字段类型。
似乎 airtable 支持 .jsindexOf形式的.js 等价物SEARCH。从文档:
SEARCH(find_string, inside_string, position)
返回从位置开始,在inside_string 中第一次出现find_string 的索引。位置默认为 0。
因此,我们可以使用以下作为我们的搜索过滤器值
filterByFormula: `SEARCH("${myFilter}", Column) >= 0`
Run Code Online (Sandbox Code Playgroud)
这将搜索我们Column的存在myFilter并返回myFilter位于Column.
注意:可能值得一提的是,您的myFilter财产可能最好具有至少 2 个字符数以提高性能。该文档还没有指定不区分大小写的选项,所以你不妨包裹都Column和"${myFilter}"一个LOWER()功能,如果你想不论大写或小写字符,返回结果。例如
filterByFormula: `SEARCH(LOWER("${myFilter}"), LOWER(Column)) >= 0`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3328 次 |
| 最近记录: |