[英]mongodb array data store using node js
我必須嘗試使用郵遞員工具將我的孩子信息存儲到MongoDB中。 但是它向我顯示了此消息“消息”:郵遞員控制台中的“子信息驗證失敗”。 孩子信息是我存儲孩子信息的集合名稱。
我的要求是將結果存儲在MongoDB中提到的以下架構的數組形式中
1)。 這是js子架構
userId:{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
quiz:[
{
questionId:{
type: mongoose.Schema.Types.ObjectId,
ref: 'questions'
},
score:{type:String},
time:{type:String}
}
]
2)。 這是節點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)。 郵遞員屏幕輸出
{
"message": "childinfos validation failed"
}
4)。 控制台輸出
Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
5)。 Mongo控制台
{
"_id" : ObjectId("57bc483169e718642ac0ac44"),
"levelsAttempted" : [ ],
"quiz" : [ ],
"__v" : 0
}
對於您的控制台問題,
把mongoose.Promise = global.Promise;
放到mongoose.Promise = global.Promise;
在您已建立服務器連接的文件中(例如,在本例中為index.js
)。
而且我認為您可能尚未發布整個代碼,因為我無法在您的代碼中找到childinfos
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.