【发布时间】:2016-08-02 18:23:41
【问题描述】:
我正在使用 Node.js 包 Dynamoose 来处理我的 Web 应用程序中的 DynamoDB 请求。
问题是当我尝试更新项目时,只要 JSON 对象包含一个空数组 Dynamoose 似乎将其设置为 null。或者,据我所知,它可能是 DynamoDB。
以下是我用于此表的架构的一部分。
var NoteSchema = new dynamoose.Schema({
_id: String,
details: Array
});
在下面的代码中,变量body 设置为{details: []}。我已经通过运行console.log(body); 确认了这一点。
Note.update({
_id: searchid
}, body, function(err, note) {
if (err) {
console.log(err);
} else {
console.log(note);
}
});
问题在于运行console.log(note);时的回调函数details甚至根本没有出现。所以它是空的或未定义的。再次在 Amazon Web Services 中,details 根本不存在该条目。
奇怪的是,当创建一个新的 Note,设置 details = [] 并保存它时, details 是一个空数组并且可以完美地工作。所以对我来说,更新记录并将该属性设置为空数组似乎是一个特定问题,因为创建记录并将该属性设置为空数组非常有效。
如何更新记录并将详细信息设置为空数组?
【问题讨论】:
标签: javascript arrays node.js amazon-web-services amazon-dynamodb