【发布时间】:2021-12-15 11:11:29
【问题描述】:
我正在尝试从 sqlite 获取 user.foo 和 user.bar 而不是一组值:
let user: any = await db.query('SELECT id, email, hashed_password FROM users WHERE email = ?', [body.email]);
if (!user || !user.length) {
context.response.status = 400;
context.response.body = { message: "User not found" };
return;
}
user = user[0];
console.log(user);
console.log(body.password, user[2]);
const comparison = await bcrypt.compare(body.password, user[2]);
console.log('comparison: ', comparison);
这可能吗?
编辑:我在这里仍然收到一个错误,即查询没有返回任何行,即使它在 try catch 中(并且行确实存在)
try {
const query = db.prepareQuery<[number, string]>("SELECT id, email, hashed_password FROM users WHERE email = ?",
[body.email],
);
user = query.oneEntry();
} catch(err) {
console.error(err);
context.response.status = 400;
context.response.body = { message: "User not found" };
return;
}
console.log('user: ', user);
【问题讨论】:
-
什么是“Deno 的 sqlite 库”?您要导入以创建
db的模块的 URL 是什么? -
添加到问题
-
您没有包含您所说的错误。如果您在问题中提供Reproducible Example,将会很有帮助。 (例如,您可以复制、粘贴并将我在答案中提供的 TypeScript 文件内容保存为文件:然后运行它,您将看到相同的输出。)这将有助于任何想要帮助您解决问题的人问题。
-
添加了错误。我想它是如何绑定的?准备查询。我想我做错了。
-
我看到的您的问题的最新版本是revision 3,其中不包含有关错误的任何信息。
标签: deno deno-sqlite