Dex ie. js: получить записи о сбоях данных в массовом перехвате ошибок () - PullRequest
4 голосов
/ 28 марта 2020

Если я добавляю BLOB-объект в свою базу данных с помощью bulkAdd (), то если какой-либо ключ уже существует, он выдаст ошибку, говорящую о том же.

bulkAdd(): 127 of 127 operations failed. 
Errors: ConstraintError: Key already exists in the object store.

Теперь я хочу, если какой-либо ключ уже существует в базе данных, тогда обновить данные, связанные с этим ключом, используя некоторое условие if (например, если оно меньше 1).
Но когда я пытаюсь открыть console.log (error.failures), он просто показывает сообщения, а не объект данных.
Может любой один скажи мне, как мы можем это сделать?

Ответы [ 2 ]

2 голосов
/ 30 марта 2020

При Table.bulkAdd() операция завершится неудачей, если уже существует первичный ключ.

Table.add ()

Добавляет объект в хранилище объектов.

Примечания

Добавить данный объект в хранилище. Если объект с таким же первичным ключом уже существует, операция завершится ошибкой и будет возвращено обещание catch () обратный вызов будет вызван с объектом ошибки.

Вы можете использовать Table.bulkPut() для замены записей в случае дублирования ключей.

Table.put ()

Добавляет новый или заменяет существующий объект в хранилище объектов.

Замечания

Если объект с таким же первичным ключом уже существует, он будет заменен данным объектом. Если он не существует, он будет добавлен.

0 голосов
/ 04 апреля 2020

Вы можете использовать table.bulkPut () .

Добавляет элемент, если ключ недоступен. Если доступно, обновите значение. И это быстрее.

...