0
我是node.js的新手。這是我第一次嘗試。我正在構建一個小型Web應用程序,它在瀏覽器上顯示來自MongoDB的數據。節點JS:類型錯誤:無法讀取undefined的屬性
這是我的index.js文件
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
Company = require('./models/company');
//connect to mongoose
mongoose.connect('mongodb://localhost/rs_active_members');
var db = mongoose.connection;
app.get('/',function(req, res) {
res.send('Hello World!');
});
app.get('/api/companys', function(req, res) {
Company.getCompanys(function(err, companys) {
if(err) {
throw err;
}
res.json(companys);
});
});
app.listen(8080);
console.log('Running on port 8000...');
這是我company.js文件
var mongoose = require('mongoose');
//Generate Schema
var companySchema = mongoose.Schema({
name:{
type: String,
required: true
},
create_date:{
type: Date,
default: Date.now
}
});
var Company = module.exports = mongoose.model('Company',companySchema)
// Get Companys
module.exports.getCompanys = function(callback, limit){
Company.find(callback).limit(limit);
}
的錯誤是
TypeError: Cannot read property 'getCompanys' of undefined
at C:\Projects\rs_active_members\index.js:17:9
at Layer.handle [as handle_request] (C:\Projects\rs_active_members\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Projects\rs_active_members\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Projects\rs_active_members\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Projects\rs_active_members\node_modules\express\lib\router\layer.js:95:5)
任何人都可以請幫我在哪兒」錯了嗎?謝謝。
您正在聲明模型導出後的靜態。做之前。並更正語法。順便說一句,你永遠不會傳入'limit'參數,這將是另一個錯誤。 –
@NeilLunn - 這與什麼有關? – jfriend00