2017-01-23 4 views
-1

Я пытаюсь вставить запись в БД в качестве массовой загрузки. Когда письмо уже существует, оно не должно вставляться, но оно вставляется. Может ли кто-нибудь предложить мне помощь?Как ограничить DUPLICATE EMAILS вставить в MongoDB?

data.forEach(function (v, i) { 
    ` async.waterfall([ 
       function (done) {console.log(filterjson) 
        Student.find(filterjson).exec(function (err, students) { 
        if (err) { 
         return res.status(400).send({message: errorHandler.getErrorMessage(err)}); 
        } else { console.log('success'+students) 
         if (students && students.length > 0) { 
         console.log('fail') 
         writer.pipe(fs.createWriteStream('out.csv')) 
         writer.write({FirstName: student.first_name,LastName: student.last_name, email: student.email, mobile: student.mobile, error:'Email already exists'}); 
         res.jsonp({ 'errorCode': common.statusCodes.COMMON, 'respMessage': 'Email already exists' }); 
        } else { 
         done(); 
         } 
        } 
        }); 
       }, 
       function (done) { 
        student.save(function (err) { 
        if (err) { 
         return res.status(400).send({message:errorHandler.getErrorMessage(err)}); 
        } else { 


         done(); 
        } 
        }); 
       }, 
      } 
+0

может быть дубликатом? http://stackoverflow.com/questions/12395118/mongodb-setting-unique-field –

ответ

2

Пожалуйста, добавьте ограничения для этого столбца

Пример

db.student.createIndex({ "email": 1 }, { unique: true })

реф. https://docs.mongodb.com/manual/core/index-unique/

Примечание: Необходимо удалить, если есть какие-либо повторяющиеся данные, другие мудрые вы получите E11000 дубликат ключей ошибки: ...

+0

Я не могу создать индекс, он говорит об ошибке – MMR

+0

убедитесь, что вы переключились на правильную базу данных. ; db. <Имя_события> .createIndex ({"email": 1}, {unique: true}); вам нужно удалить, если есть какие-то повторяющиеся данные, другие мудрые вы получите E11000 дублируемую коллекцию ошибок: ... –

Смежные вопросы