Javascript 解析程序返回空数组,但原因无法识别
我有一个变种,它有一个解析器,可以简单地将一条记录插入数据库,但问题是Javascript 解析程序返回空数组,但原因无法识别,javascript,node.js,sqlite,graphql,apollo,Javascript,Node.js,Sqlite,Graphql,Apollo,我有一个变种,它有一个解析器,可以简单地将一条记录插入数据库,但问题是createPost不断返回一个空数组,因此我得到了这个错误“消息”:“不能为不可为空的字段Post.text返回null。” Mutation/index.js 从“@/server/db”导入{query}; export const createPost=async({post})=>{ const createPost=等待查询( ` 插入帖子(文本、用户id) 值(?,) `, [post.text,post.use
createPost
不断返回一个空数组,因此我得到了这个错误“消息”:“不能为不可为空的字段Post.text返回null。”
Mutation/index.js
从“@/server/db”导入{query};
export const createPost=async({post})=>{
const createPost=等待查询(
`
插入帖子(文本、用户id)
值(?,)
`,
[post.text,post.user\u id]
);
console.log(createPost);
返回邮件;
};
根据sqlite文档(在上面的注释中链接),在查询中添加一个RETURNING
子句,如下所示:
const createPost = await query(
`
INSERT INTO posts (text, user_id)
VALUES (?, ?)
`,
[post.text, post.user_id]
RETURNING *
);
将从DB返回新插入的值,因此,它将成为
createPost
的值。DB插入函数\action不一定返回插入的值,它可能返回成功\失败指示器或什么都不返回。如何检查失败?我对sqlite不是特别熟悉,但谷歌的快速搜索表明了这一点。希望它能帮助你你好,插入工作,但你认为我应该返回什么。应该是[post.text,post.user\u id]
?我让它工作了!我刚刚返回了post
这对我不起作用,我遵循了它,然后它说,
预期,但在添加后,我得到了expression expected
错误正如我前面所说的,我对sqlite\graphql不是特别熟悉。这是一个来自文档的建议,显示了返回插入文档的概念,您必须四处搜索执行此操作的确切方式和语法,并且欢迎编辑答案。我认为我的sqlite版本不支持返回,还有其他方法吗?