0
我使用的貓鼬。我有一個課程模式是這樣的:類型錯誤:無法使用 '的' 運營商 「{_id:0,lessonName:Matematik}」 搜索 '_id'
var mongoose = require('mongoose');
var lessonSchema = mongoose.Schema({
_id: {type: Number, required:true, unique:true, max: 10},
lessonName: {type: String, required: true, max: 100},
});
var Lesson = mongoose.model('Lesson', lessonSchema);
module.exports = Lesson;
我從頁面發送JSON數組一樣:
var lessonArray=[];
for (i=0;i < dersler.length;i++) {
lessonArray.push("{_id: " + i + ", lessonName: " + dersler[i] + "}");
}
console.log("lessonArray: " + lessonArray + "-" + lessonArray.length)
return lessonArray;
$.ajax({
url: "http://localhost:3000/addlesson",
type: 'POST',
data: JSON.stringify(lessons),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
console.log("Başarılı Ajax Çağrısı")
},
error: function (errormessage) {
console.log("Başarısız Ajax Çağrısı:")
}
}).then(function(data) {
console.log('DB insert gelen cevap:' + data);
});
在節點服務器I處理POST,如:
app.post("/addlesson", (req, res) => {
//var myLessonList = new Lesson(JSON.parse(req.body[1]));
var myLessonList = req.body;
console.log("Lesson1:" + myLessonList[0]);
var myData = Lesson(myLessonList[0]);
console.log("Lesson11:" + myData);
console.log("LessonList:" + myLessonList + '-' + req.body);
Lesson.lessonName = req.body[1];
console.log("LessonName:" + Lesson.lessonName);
/* var myData = new Lesson(req.body);
myData.save()
.then(item => {
res.send("item saved to database");
})
.catch(err => {
res.status(400).send("unable to save to database:" + err);
});
*/
res.send("Başarılı");
});
但在它下面這行給出的類型的錯誤
var myData = Lesson(myLessonList[0]);
我試圖讓AJAX後到服務器,並得到身體,從它那裏得到JSON數組,然後將數據保存到MongoDB的。但不知怎的,它看起來像是從數組轉換數據到json或反之亦然。