1
將我的大腦架起來使用Mongoose創建嵌入式文檔。我收到以下錯誤,當我提交表單:使用Mongoose和Express創建嵌入式文檔
500 CastError:演員到undefined_method失敗值 「評論到這裏」
代碼:
index.js
var db = require('mongoose');
var Todo = db.model('Todo');
exports.create = function(req, res, next){
new Todo({
title : req.body.title,
content : req.body.content,
comments : req.body.comments,
}).save(function(err, todo, count){
if(err) return next(err);
res.redirect('/');
});
};
db.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// recursive embedded-document schema
var commentSchema = new Schema();
commentSchema.add({
content : String
, comments : [Comment]
});
var Comment = mongoose.model('Comment', commentSchema);
var todoSchema = new Schema({
title : { type: String, required: true }
, content : String
, comments : [Comment]
});
var Todo = mongoose.model('Todo', todoSchema);
玉形式
form(action="/create", method="post", accept-charset="utf-8")
input.inputs(type="text", name="title")
input.inputs(type="text", name="content")
input.inputs(type="text", name="comments")
input(type="submit", value="save")
我只是想你的代碼,並刪除第一個逗號的模式上的。這裏是我收到的錯誤: Express 500 TypeError:不能使用'in'運算符來搜索'_id'在評論去這裏 – omer3210
我認爲問題在於index.js上的Express代碼 – omer3210
啊,是的,所以你可以只是將一些javascript對象粘貼到註釋中,您需要先將它們轉換爲mongoose註釋模型實例,然後將Todo與嵌入的註釋一起保存。 –