2017-01-23 3 views
-1

Ich versuche, einen Datensatz als Bulk-Upload in die DB einzufügen. Wenn die E-Mail bereits existiert, sollte sie nicht eingefügt werden, aber sie wird eingefügt. Kann mir bitte jemand Hilfe vorschlagen?Wie kann man DUPLICATE EMAILS in MongoDB einfügen?

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

könnte ein Duplikat sein? http://StackOverflow.com/Questions/12395118/mongodb-setting-unique-field –

Antwort

2

Bitte fügen Sie Einschränkungen für diese Spalte

Beispiel

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

Ref. https://docs.mongodb.com/manual/core/index-unique/

Hinweis: Müssen löschen, wenn es irgendwelche doppelten Daten, andere weise werden Sie E11000 Schlüsselfehler Sammlung Duplikat erhalten: ...

+0

Ich bin nicht in der Lage, Index zu erstellen, es sagt Fehler – MMR

+0

stellen Sie sicher, dass Sie zur richtigen Datenbank gewechselt. Verwendung ; db. .createIndex ({"email": 1}, {unique: true}); Sie müssen löschen, wenn es doppelte Daten gibt, sonst erhalten Sie E11000 doppelte Schlüssel Fehler Sammlung: ... –