2016-08-19 2 views
0

Ich habe ein Modell, das wie folgt aussieht:Mungo, wie Dokument innerhalb eines Arrays speichern

user.js

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var memberSchema = new Schema({ 
     email: { 
      type: String, 
      required: true, 
      unique: true 
     }, 
     password: { 
      type: String, 
      required: true, 
      min: 8 
     } 
}); 

var userSchemaPrimary = new Schema({ 
    team_code : { 
     type: String, 
     required: true, 
     unique: true 
    }, 
    members:[memberSchema], 
}); 
var User = mongoose.model('User', userSchemaPrimary); 

module.exports = User; 

Und so

var User = require('../models/user'); 
var newTeam = new User({ 
    team_code : 'CODE01', 
    members: 
     { 
      email: req.body.email, 
      password: pass 
     } 
}); 

newTeam.save(function(err) { 
    if (err) throw err; 
    console.log('User saved successfully!'); 
    return res.send("Done"); 
}); 
zu retten versuchen

Bei der Ausführung wird der Modellvalidierungsfehler ausgelöst. Nun, ich habe versucht, Daten ohne die Array-Dokumente zu speichern, dann wird es erfolgreich gespeichert. Aber wenn ich versuche, das Array (Array "Mitglieder") zu speichern, löst es einen Validierungsfehler aus.

ICH WILL

Speichern von Daten auf folgende Weise:

{ 
    team_code: "CODE01", 
    members: [ 
     { 
     email: "[email protected]", 
     password: "11111111" 
     }, 
     { 
     email: "[email protected]", 
     password: "22222222" 
     } 
     { 
     email: "[email protected]", 
     password: "33333333" 
     } 
    ] 
} 

Ich verstehe nicht, was falsch läuft. Jede Hilfe wird geschätzt.

+0

'password' Feld in Schema String ist, aber Sie sind die Nummer zu speichern, vielleicht ist das ein Problem –

+0

Nein, nein, es ist nur ein Beispiel, das ich habe gegeben, bin Saite speichern –

Antwort

1

Sie zuweisen Objekt members Feld, aber es ist ein Array

var newTeam = new User({ 
    team_code : 'CODE01', 
    members: [{ 
      email: req.body.email, 
      password: pass 
    }] // <-- note the array braces [] 
}); 
+0

Also, was ist die Lösung? –

+0

zuweisen [] nicht {} –

Verwandte Themen