2017-09-16 5 views
0

Essayer de créer un CRUD simple pour un utilisateur. Je passe le nom, l'email, le mot de passe, l'emplacement, l'avatar à travers un formulaire d'inscription de React/Redux.MongoDB ne sauvegarde pas l'utilisateur

Je reçois une erreur lors de la sauvegarde qui dit ce qui suit sur une clé doublon -

(node:30190) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): WriteError({"code":11000,"index":0,"errmsg":"E11000 duplicate key error index: heroku_10vr0vgl.users.$googleId_1 dup key: { : null }","op":{"avatar":"avatar.jpg","slug":"jane","id":"cj7nl39w50000amcaool50zcp","name":"Jane","email":"[email protected]","password":"$2a$10$envMKYq6xFCkZGpYVd4rEel4g5TGijFOEnr.ayMymHM1ph0/1luGC","location":"Los Angeles","_id":"59bd5e9478537875ee6b8939","createdAt":"2017-09-16T17:25:40.863Z","campaigns":[],"role":"NORMAL","__v":0}}) 

semble être quelque chose sur un double val, mais pour googleID ex est pas nécessaire.

Je n'ai qu'un utilisateur maquette de la collection de l'utilisateur qui ressemble à ce qui suit -

[ 
    { 
    "_id": { 
     "$oid": "59a070dea4de3af502af7d5c" 
    }, 
    "avatar": "avatar.jpg", 
    "name": "John Doe", 
    "role": "ADMIN", 
    "slug": "john-doe", 
    "id": "1", 
    "email": "[email protected]", 
    "location": "Los Angeles", 
    "campaigns": ["1"], 
    "twitterId": "refinery29", 
    "password": "test1234" 
    } 
] 

Le modèle utilisateur se présente comme suit -

import mongoose from 'mongoose'; 

const Schema = mongoose.Schema; 

const userSchema = new Schema({ 
    name: {type: 'String', required: true}, 
    role: {type: 'String', default: 'NORMAL', required: true}, 
    location: {type: 'String'}, 
    slug: {type: 'String', required: true, index: {unique: true, dropDups: true}}, 
    campaigns: {type: ['String'], default: []}, 
    avatar: {type: 'String', required: true}, 
    email: {type: 'String', index: {unique: true, dropDups: true}}, 
    id: {type: 'String', required: true, index: {unique: true, dropDups: true}}, 
    googleId: {type: 'String'}, 
    facebookId: {type: 'String'}, 
    twitterId: {type: 'String'}, 
    createdAt: {type: 'Date', default: Date.now, required: true}, 
    password: {type: 'String'}, 
}); 

export default mongoose.model('User', userSchema); 

Répondre

0

On dirait que j'avais un existant référence d'index. J'ai laissé tomber ma collection d'utilisateurs et enregistré. Tout est bien!