2016-08-23 4 views
0

Ich muss versuchen, meine Kind-Info in MongoDB über Postbote-Tool zu speichern. Aber es zeigt mir diese Nachricht "Nachricht": "Kind Info Validierung fehlgeschlagen" in Postman-Konsole. Kinderinfo ist der Name meiner Sammlung, in der ich meine Kinddaten abspeichere.mongodb array Datenspeicher mit Knoten js

meine Anforderung wird das Ergebnis in Array-Form zu speichern, wie unter Schema innen MongoDB erwähnt

1). Dieses ist js Kindschema

userId:{ 
      type: mongoose.Schema.Types.ObjectId, 
      ref: 'User' 
      }, 
    quiz:[ 
     { 
     questionId:{ 
       type: mongoose.Schema.Types.ObjectId, 
        ref: 'questions' 
        }, 
     score:{type:String}, 
     time:{type:String} 
     } 
     ] 

2). Das ist Knoten js

try { 

      var quizArr = []; 
      var quizObj = { 
       'questionId': req.params.questionId, 
       'score': req.params.score, 
       'time': new Date().toISOString() 
      }; 
      quizArr.push(quizObj); 
      var userObj = { 
       'userid': req.params.userId, 
       'quiz': quizArr 
      }; 
      //var parseObj = Json.stringify(userObj); This line is comment 

      var childinfoSave = new QuizChildInfo(userObj); 

      childinfoSave.save(function (err) { 
       if (err) return next(err); 
       res.send("Child questionId score and date saved successfully") 
       console.log("Child questionId score and date saved successfully"); 
      }); 
     }catch(err){console.log(err);} 

3). Ausgabe des Postman-Bildschirms

{ 
    "message": "childinfos validation failed" 
} 

4). Ausgabe der Konsole

Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html 

5). Mongo Konsole

 { 
    "_id" : ObjectId("57bc483169e718642ac0ac44"), 
    "levelsAttempted" : [ ], 
    "quiz" : [ ], 
    "__v" : 0 
    } 

Antwort

0

Für das Problem der Konsole,

setzte mongoose.Promise = global.Promise; in der Datei, in der Sie Ihre Server-Verbindung eingerichtet haben (wie in meinem Fall seiner index.js).

Und ich denke, Sie haben möglicherweise nicht den gesamten Code geschrieben, wie ich childinfos in Ihrem Code nicht finden konnte.

+0

childinfos ist der Name der Sammlung im untergeordneten Schema, in dem diese Werte gespeichert werden –

+0

Haben Sie das Problem behoben, mit dem Sie konfrontiert werden, und führen Sie die API erneut aus? –

+0

Danke ja versprechen Problem ist remove.but es hatte ein leeres Array –

Verwandte Themen