我正在尝试将新记录“putItem”到 dynamoDB 数据库中,但在尝试将数组包含在数据中时失败了。我的 params.Item 如下所示:
msg.params.Item = {
fileName: {S: "filename"}, // database is keyed on filename
userEmail: {S: "emailaddress"},
transcription: {S: "text here"},
features: {L: [ { "relevance": {S: "0.900906"}, "text": {S: "keyword"}} ]}
};
我反复收到错误“UnexpectedParameter:在 params.Item[‘features’] 中发现意外的键‘L’”。我假设我以某种方式错误地格式化了“features”数组,但我无法弄清楚我的错误在哪里。我尝试过许多不同的数组咒语。感谢您提供任何帮助,因为使用数组运行 dynamoDB putItem javascript 的在线示例少得惊人。
仅供引用:我在 Node-RED 中使用 node.js,这可能解释了奇怪的代码,但我之前在 Cloudant 数据库中运行良好。只有 dynamoDB 在此阵列上阻塞。
最佳答案
map 缺少 M
:
特征:{L: [ { "relevance": {S: "0.900906"}, "text": {S: "keyword"}} ]}
应该是
features: {L: [ {M: {"relevance": {S: "0.900906"}, "text": {S: "keyword"}}} ]}
关于arrays - dynamodB 将项目 : "UnexpectedParameter: Unexpected key ' L' found in params. 项目“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40274423/