我在nodejs控制台中遇到错误(请参阅屏幕截图以获得更多说明)。
在matches.js中:
const mongoose = require('mongoose');
let Schema = mongoose.Schema;
const matchSchema = new Schema({
match_id:{
type:Number; <---- line 8
required:true;
},
season:{
type:Number;
required:true;
}
.....
.....
});
const matches = mongoose.model('matches', matchSchema);
module.exports = matches;
// Get matches
module.exports.getmatches = (callback, limit) => {
matches.find(callback).limit(limit);
}
在app.js中:
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const app = express();
matches = require('./models/matches');
mongoose.connection.openUri('mongodb://localhost:27017/IPL');
const db = mongoose.connection;
app.get('/home', (req, res) => {
matches.getmatches((err, match) => {
if(err){
throw err;
}
res.json(matches);
});
});
app.listen('5000');
console.log('Running on port 5000....')
我创建了包含matches.js的模型文件夹我试图从mongodb访问数据以及何时在API端点上显示为JSON数据,即localhost://5000/home
答案 0 :(得分:3)
这是一个基本的JavaScript Object声明错误。 JSON对象应该如下所示,
{
match_id: {
type: Number, //see the comma there?
required: true
}
}
您使用,
而不是使用;
,这会引发语法错误。改为使用它,
const matchSchema = new Schema({
match_id: {
type:Number,
required:true
},
season: {
type:Number,
required:true
}
.....
.....
});
此外,您的getmatches
函数需要将限制作为第二个参数传递,您还需要在代码中传递它。