2016-07-13 8 views
-1

Ich versuche, einen neuen Benutzer über Angular App zu registrieren, aber wenn ich einen Benutzer mit dem gleichen Benutzernamen registriere, erlaubt mir Mongo, dies zu tun, so dass es keinen Fehler erneut einträgt und anschließend kann ich zwei Benutzer mit demselben sehen Namen in der Datenbank. Aber ich markiere Namensfeld als einzigartig.Warum erlaubt MongoDB das Erstellen identischer Benutzer?

Teil api:

apiRoutes.post('/signup', function(req, res) { 
    if (!req.body.userId || !req.body.password) { 
     res.json({success: false, msg: 'Please pass name and password.'}); 
    } else { 
     var newUser = new User({ 
      name: req.body.name, 
      password: req.body.password, 
      wallet: req.body.wallet, 
      userPic: req.body.userPic 
     }); 
     // save the user 
     newUser.save(function(err) { 
      if (err) { 
       return res.json({success: false, msg: 'Username already exists.'}); 
      } 
      res.json({success: true, msg: 'Successful created new user.'}); 
     }); 
    } 
}); 

Modellcode:

// set up a mongoose model 
var UserSchema = new Schema({ 
    name: { 
     type: String, 
     unique: true, 
     required: true 
    }, 
    password: { 
     type: String, 
     required: true 
    }, 

    wallet: { 
     type: Number, 
     required: true 
    }, 

    userPic: { 
     type: String, 
     required: true, 
     unique: true 
    } 

    }); 

Und Anforderungscode POST (Login und Passwort werden von außen genommen):

let newUser = { 
     password: password, 
     wallet: 0, 
     userPic: md5(login), 
     name: login 
    }; 
    this.$http.post('http://127.0.0.1:8080/api' + '/signup', newUser); 
+0

Dieser hat mir geholfen. danke [Antwort] (http://stackoverflow.com/a/27411370/6325253) – boooni

Antwort

-1

Versuch in Ihrem Modell :

name: { 
     type: String, 
     index:{unique: true}, 
     required: true 
    } 
+0

hilft nicht :( – boooni

+0

und: {typ: String, unique: true, erforderlich: true, dropDups: true} – adkirvien

+0

immer noch das gleiche Problem. Aus irgendeinem Grund habe ich nur _id Index in Indexes-Ordner für diese Sammlung – boooni

Verwandte Themen