2016-05-13 7 views
0

Ich versuche, eine MEAN App zu entwickeln, ich bin in der Lage, Daten von Front-End zu Back-End-Server zu senden, Array von Daten in Mungo-Schema, aber Ich bin nicht in der Lage, die Objektelemente im Array nacheinander zu drücken. mein Server-Code sieht aus wieSpeichern von Formularelementen in einem Array mit Mungo

router.post('/', function(req, res) { 
     console.log(req.body.details);//getting data in array 
    console.log(req.body.academics);//getting data in array 
    console.log(req.body.trainings);////getting data in *object* 
    var detail = req.body.details; 
    console.log(detail.city); // i can get data here 
    var register = new recruit(req.body); 

register.contact.push({ 
    city: detail.city || "",//but the data doesnot get inserted now 
    state: detail.state || "", 
    municipalityVdc: detail.municipalityVdc || "", 
    wardNo: detail.wardNo || "", 
    houseNo: detail.houseNo || "", 
    streetName: detail.streetName || "", 
    contactNo: detail.contactNo || "", 
    eContactNo: detail.eContactNo || "", 
    email: detail.email || "", 
    aEmail: detail.aEmail || "", 
    facebookId: detail.facebookId || "", 
    linkedinId: detail.linkedinId || "" 
}); 
register.qualification.push(req.body.academics);// array of data are inserted inside the mongoose schema 
register.trainings.push(req.body.trainings);// data get inserted 

es fein Spar alle Daten auf einmal, aber ich versuche, Daten in verschiedenen Array zu verwalten. Ich habe auch ein anderes Array, wo Details eingefügt werden sollen

register.basicDetails.push({ 
    firstName: detail.firstName || "",//no data are inserted here too 
    lastName: detail.lastName || "", 
    fathersName: detail.fathersName || "", 
    dob: detail.dob || "", 
    marritalStatus: detail.marritalStatus || "", 
    drivingLicense: detail.drivingLicense || "", 
    vehicle: detail.vehicle || "", 
    gender: detail.gender || "", 
    photo: req.file.originalname || "", 
    jobTitle: detail.jobTitle || "", 
    experiance: detail.experiance || "" 
}); 
register.save(function(err, respond) { 
    if (err) { 
     throw err; 
    } else { 
     res.json(respond); 
    } 
}) 

}); module.exports = Router;

mein Code funktioniert, wenn ich Objekt von Mungo-Modul machen und sie direkt auf die Datenbank speichern, sondern nur Array nicht Objekte, meine Arbeits Code eingefügt sieht aus wie

router.post('/', function(req, res) { 

var register = new recruit(req.body); 

register.save(function(err, respond) { 
    if (err) { 
     throw err; 
    } else { 
     res.json(respond); 
    } 
    }) 
}); 
module.exports = router; 

jemand bitte mich aufklären über die Verwaltung von Daten mit Mungo, und korrigieren Sie mich, wo ich falsch liege. Ich werde jede Antwort sehr zu schätzen wissen.

Antwort

0

Ich denke, Ihnen behilflich zu

Ihre bekommen Client-Seite Datenobjekt zu Ihrem Mungo Rekrut Schemafeld gleich ist, dann nur wird es alle Daten

zum Beispiel speichern

dieser Benutzer-Schema ist

var UserSchema= new mongoose.Schema({ 

name:{type:String}, 
dateCreated:{type:String}, 
place:[{ 
    city:{type:String}, 
    state:{type:String} 
}] 

});

dies Clientseite Daten (req.body)

{ "name":"test","dateCreated":"date","place":[{"city":"chennai","state":"tamil"}]} 

speichern Funktion

var newUser = new User(data) 
newUser.save(function(err, respond) { 
if (err) { 
    throw err; 
} else { 
    res.json(respond); 
}})}); 

Ausgang

{ place: 
    [ { _id: 5737548a96d6deb40b321a53, 
     state: 'tamil', 
     city: 'chennai' } ], 
    _id: 5737548a96d6deb40b321a52, 
    dateCreated: 'date' } 
+0

i nicht auf diese Weise, ich habe eigentlich Objekt in meinem (erf .body) zusammen mit Arrays. und möchte in ein neues Array innerhalb eines Mungo-Schemas pushen: newUser.details.push ({name: req.body.name}). wo deteins innerhalb des Schemas definiert ist. in einzelnen Objekt wie Ihr Beispiel ist es in Ordnung, aber ich habe Objekt in req.body. irgendeine Hilfe? – jsgeek

+0

hi pls geben ein klares Beispiel, becoz in Ihrem Beispiel (req.body.details) ist Array und wie erhalten Sie Werte in Array wie diese (details.city, details.state), Objekt nur auf diese Weise. So kann man Wert von Details wie diesem nicht erhalten (details.city) – karthi

+0

(req.body) ist auch ein Objekt. Sie versuchen, Wert wie folgt zu speichern (var register = new rekruit (req.body);) .. so Array von Client-Daten nicht auf Array von Schema-Feld und Objekt von Client-Daten eingestellt auf Objekt von Schema-Feld eingestellt .. aber Objekt von Client-Daten krank nicht in Array von Schema-Feld – karthi