使用Notion JS Client无法按状态过滤数据库,报错找不到status属性
解决Notion API查询错误:"Could not find property with name or id: status"
问题核心是代码中指定的属性名与Notion数据库实际属性名不匹配:从你提供的截图来看,数据库里的状态属性是中文表头(比如“状态”),但代码里用的是英文的status,导致API无法识别对应属性。
修复步骤
- 确认数据库中状态列的准确名称(比如截图里的中文表头“状态”)
- 修改代码里
filter部分的property值,替换为实际的属性名称;同时如果状态选项是中文(比如“已完成”),同步调整does_not_equal的数值,确保和数据库选项一致
修改后的代码示例:
(async () => { const databaseId = 'a secret'; const response = await notion.databases.query({ database_id: databaseId, filter: { property: '状态', // 替换为你数据库中状态列的真实名称 status: { does_not_equal: '已完成' // 若数据库用英文状态则保留'Completed' } } }); console.log(response); })();
额外检查
- 属性名称需和数据库表头完全一致,包括空格、大小写
- 状态选项文字必须与数据库内的选项严格匹配
内容的提问来源于stack exchange,提问作者skearya
相关产品推荐
相关产品推荐

