我收到“提供的关键元素与模式不匹配”的错误。 uuid
是我的主分区键。我还有一个主要的排序键version
。我想我可以使用batchWrite
(docs)删除所有具有相同uuid
的项目。如何使用DynamoDB批量删除?
我ES6代码如下:
delete(uuid) {
const promise = new Promise();
const params = {
RequestItems: {
[this.TABLE]: [
{
DeleteRequest: {
Key: { uuid: uuid }
}
}
]
}
};
// this._client references the DocumentClient
this._client.batchWrite(params, function(err, data) {
if (err) {
// this gets hit with error
console.log(err);
return promise.reject(err);
}
console.log(result);
return promise.resolve(result);
});
return promise;
}
不知道为什么它是对是主要的关键示数。当我搜索某些不是关键的东西时,我已经看到有关需要其他索引的帖子。但我不认为这是这种情况。
是否有可能在'uuid'字段设置为一个字符串,你给它一个数字,或者反之亦然? – mindoftea
@mindoftea不错的猜测,但我传递一个长字符串到期望一个字符串的字段。 ''“RequestItems”:{“campaigns”:[{“DeleteRequest”:{“Key”:{“uuid”:“2f114a47 -835e-4937-a0b6-675e0e15ab86“}}}]}}' –
你在美国东部工作吗?实际上,我在这篇文章中发生过,因为我一直在从发电机那里得到奇怪的服务器错误 - 也许今天它已经坏了。 – mindoftea