Повторяющаяся ошибка при добавлении данных в MongoDB

#node.js #mongodb #express #mongoose #database

#node.js #mongodb #экспресс #мангуст #База данных

Вопрос:

Я пытаюсь вставить данные в документ MongoDB, но в нем появляется ошибка дублирования.

Код

При определении схемы я задал значение «роль» по умолчанию: «клиент». Но при добавлении данных с другим номером я получаю эту ошибку.

Ниже приведена определенная схема: Схема

Где ошибка?

Ответ №1:

Проверьте, имеет ли коллекция уникальный индекс в столбце.

 db.customers.getIndexes()
 

здесь вы получите уникальный индекс для имени пользователя. удалите его

Он вернет все индексы. Если у него есть unique: true, отбросьте его, а затем вставьте записи.

ИЛИ просто используйте

 db.customers.dropIndex('username_1')
 

Это не ошибка из-за mobilenumber. это из-за имени пользователя. вы пытаетесь вставить несколько имен пользователя с нулевым значением, что нарушает уникальное правило.

Комментарии:

1. Эй, спасибо, приятель, теперь это работает. Но можете ли вы сказать, почему возникла эта ошибка? Я имею в виду, откуда взялась эта штука с именем пользователя и стала уникальным индексом?

2. это потому, что вы создавали два имени пользователя с нулевым значением. Возможно, вы создали это поле с этим индексом, но теперь этого поля больше нет в схеме, но его индекс все еще там. Примите ответ, если это сработало. приветствия!!