#node.js #mongodb #express #mongoose #database
#node.js #mongodb #экспресс #мангуст #База данных
Вопрос:
Я пытаюсь вставить данные в документ MongoDB, но в нем появляется ошибка дублирования.
При определении схемы я задал значение «роль» по умолчанию: «клиент». Но при добавлении данных с другим номером я получаю эту ошибку.
Ниже приведена определенная схема:
Где ошибка?
Ответ №1:
Проверьте, имеет ли коллекция уникальный индекс в столбце.
db.customers.getIndexes()
здесь вы получите уникальный индекс для имени пользователя. удалите его
Он вернет все индексы. Если у него есть unique: true, отбросьте его, а затем вставьте записи.
ИЛИ просто используйте
db.customers.dropIndex('username_1')
Это не ошибка из-за mobilenumber. это из-за имени пользователя. вы пытаетесь вставить несколько имен пользователя с нулевым значением, что нарушает уникальное правило.
Комментарии:
1. Эй, спасибо, приятель, теперь это работает. Но можете ли вы сказать, почему возникла эта ошибка? Я имею в виду, откуда взялась эта штука с именем пользователя и стала уникальным индексом?
2. это потому, что вы создавали два имени пользователя с нулевым значением. Возможно, вы создали это поле с этим индексом, но теперь этого поля больше нет в схеме, но его индекс все еще там. Примите ответ, если это сработало. приветствия!!