2016-07-02 7 views
2

Ich versuche, eine App mit MEAN-Stack zu erstellen. Ich benutze Mungo für das Schema für meine Mongodb-Datenbank. Bei einer Sammlung, die die Felder "String", "Number" und "Date" enthält, treten beim Speichern in der Datenbank Fehler auf. Ein Teil der von der Verwendung eingegebenen Informationen sind Zahlen und Daten. Dies gibt mir einen Fehler und ich merke, dass ich es nie speichere. Frage: Muss ich nach der Erfassung der Informationen im Formular von String in Zahl und von String in Datum umwandeln? Wenn ja, habe ich versucht, Date.parse zu konvertieren String zu Datum und parseInt konvertieren von String-Nummer zu decken, wie folgt:Schwierigkeiten beim Speichern einer Mongodb-Sammlungsinformation aus einem Formular

app.post('/api/show/post', authCheck, function(req, res) { 
    console.log("Entrada a post"); 
    console.log(req.body); 

    var ciaID = "  "; 
    req.body.moveid = Date.parse(req.body.movein); 
    req.body.open = Date.parse(req.body.open); 
    req.body.close = Date.parse(req.body.close); 

    req.body.number = parseInt(req.body.number); 
    req.body.estimateamount = parseInt(req.body.estimateamount); 
    req.body.balancedue = parseInt(req.body.balancedue); 

    mongoose.model('company').findOne({name: "test company"},   function(err,doc){ 
     var ObjectID = require('mongodb').ObjectID; 
      ciaID = new ObjectID(doc._id); 
    }); 

    var show = new Show(req.body); 


    show.created_at = Date(); 
    show.updated_at = Date(); 
    show.created_by = "username"; 
    show.updated_by = "username"; 

    show.save(function(err, doc){ 

     if (err) { 
     console.log(" the program all gets in here"); 
      return err 
     } 
     else { 

      res.status(201).json(doc);   
     }    
    }); 
}); 

Ich habe auch versucht, nicht jeder dieser Werte zu konvertieren und auf keinem Fall es hat funktioniert. Ich habe andere Sammlungen, die nur String-Felder enthalten und ich habe damit kein Problem.

ich irgendwelche Ratschläge zu schätzen wissen werden,

Vielen Dank im Voraus

+0

Wie ich denke, haben Sie möglicherweise Probleme beim Speichern von Datum, weil Mongodb ISO-Datumsformat akzeptiert, also versuchen Sie diese var crtDate = new Date(); var dateToSave = crtDate.toISOString(); – rroxysam

+0

Vielen Dank für Ihre Hilfe. Also, was ich hier sehen kann ist, dass Sie vorschlagen, die Felder in der Datenbank von Datum zu String zu ändern. hab ich recht? – user3538384

+0

Wenn Sie ein Problem beim Speichern von Daten haben, senden Sie Ihr Modell und Ihr letztes Show-Objekt, das Sie speichern möchten. – rroxysam

Antwort

0

Danke rroxysam für Follow-up zu machen. Aufgrund deines letzten Posts habe ich das Problem gefunden. Es gibt ein Feld, das auf Mongodb und Mungo als Datum definiert ist und in dem Formular falsch verwendet wurde. Mungo lässt mich das nicht speichern, um die Integrität zu bewahren. Dummer Fehler, wirklich Entschuldigung. Vielen Dank für Ihre Zeit.

0

Try Code unten und überprüfen:

req.body.moveid = new Date(req.body.movein); 
req.body.open = new Date(req.body.open); 
req.body.close = new Date(req.body.close); 
+0

Vielen Dank für Ihren Vorschlag. Ich habe es versucht, aber es hat nicht funktioniert – user3538384

Verwandte Themen