问题描述
嗨,我知道以下错误:
提供的键元素与架构不匹配
这里有一些答案,但是它们都没有帮助我,因为我已经将建议应用于我的问题,并且仍然存在。
我正在为数据库使用Dynamoose和Koa.js,后端是我的模型架构:
.git
您会看到,我选择了const userSchema = new dynamoose.Schema(
{
name: {
type: String,trim: true,required: true,max: 32,},email: {
type: String,unique: true,lowercase: true,hashKey: true,hashedPassword: {
type: String,salt: String,resetPasswordLink: {
data: String,default: '',{ timestamps: true },)
作为我的哈希键,因为它既必需又唯一。
这是我的控制器代码:
email
当我使用名称,电子邮件和密码的json值发出发布请求时,出现以下错误。我也尝试过exports.signup = async (ctx) => {
if (ctx.status === 200) {
const { name,email,password } = ctx.request.body
try {
const foundUser = await User.get({ email })
//...
} catch (error) {
console.log(error)
}
}
}
都抛出相同的错误。这是完整记录控制台的内容:
User.get(email)
此处找到的常用解决方案告诉我将搜索的内容与哈希键(AWS文档中的分区键)匹配。在通过电子邮件进行搜索并将电子邮件设置为我的哈希键时,我已经做到了。有人可以帮我解决这个问题吗?
解决方法
根据@karjan的注释,我没有在AWS上创建表。我本来以为Dynamoose会为我创建表,但事实并非如此。