Plotly-Dash и Mongodb DuplicateKeyError - PullRequest
0 голосов
/ 03 февраля 2019

В приложении plotly-dash я ввожу определенные пользователем данные в базу данных mongoDB.

Проблема: первая запись информации является успешной, однако любые последовательные записи - нет, и возникает pymongo.errors.DuplicateKeyError.

Я предполагаю, что поскольку генерация mongodDB ObjectID () выполняется на стороне клиента, обновления не происходит, поскольку все аспекты этого кода для вставки выполняются в декораторе app.callback внутри dash и, вероятно, выполняются внутрипоток или отдельный процесс.

Завершение работы приложения и повторный запуск позволяет вставить новую запись.

Вопрос: есть ли способ вручную "обновить" созданный ObjectID?в пределах pymonngo?Скорее всего, я захочу сделать это после исключения DuplicateKeyError.

1 Ответ

0 голосов
/ 04 февраля 2019

Для тех, кто столкнулся с этой проблемой:

Просто добавьте новый dict, поместив dict ['_ id'] = ObjectID () перед вставкой, не позволяйте mongodb его обработать

...