Я использую пакет Node.js Dynamoose для обработки запросов DynamoDB в своем веб-приложении.Обновление Dynamoose/DynamoDB, сохраняющее пустой массив как null
Проблема в том, что я пытаюсь обновить элемент, когда объект 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
даже не показывает вообще. Таким образом, он имеет значение null или undefined. В Amazon Web Services снова details
не существует вообще для этой записи.
Что странно, когда вы создаете новое примечание, устанавливаете details = []
и сохраняете его, детали являются пустым массивом и отлично работают. Поэтому мне кажется, что проблема связана с обновлением записи и установкой этого свойства на пустой массив, поскольку создание записи и установка этого свойства в пустой массив работают отлично.
Как я могу обновить запись и установить детали в пустой массив?