Coffee-Script Nodejs和Mongoose
嘿所有试图使用express和mongoose与nodejs MVC玩。
我有以下代码:
mongoose = require 'mongoose' Schema = mongoose.Schema mongoose.connect 'mongodb://localhost/quotes' Quote = new Schema() Quote.add { quote : { type: String, required: true} , rank : Number } quote = new mongoose.model 'Quote', Quote module.exports = index: (req,res, next) -> quote.find {}, (err,docs) -> res.render docs
当我去运行服务器,我收到以下内容:
Server started on port 3000 module.js:311 throw err; ^ TypeError: Cannot read property 'Quote' of undefined at new <anonymous> (/Users ....
我不知道为什么它一直抛出未定义的错误。
编辑:
这里是编译的JS
var Quote, Schema, mongoose, quote; mongoose = require('mongoose'); Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/quotes'); Quote = new Schema(); Quote.add({ quote: { type: String, required: true }, rank: Number }); quote = new mongoose.model('Quote', Quote); module.exports = { index: function(req, res, next) { return quote.find({}, function(err, docs) { return res.render(docs); }); } };
我相信mongoose.model
不是一个构造函数。 我已经使用mongoose已经有一段时间了,但是我不记得Schema.add
,这些字段应该传递给构造函数调用。 所以它看起来像这样:
Quote = new Schema quote : { type: String, required: true } rank : Number quote = mongoose.model 'Quote', Quote
编辑 : Schema.add
是好的,它实际上是从构造函数调用。 这只是在文档中简单提到。