我正在尝试使用以下代码在我的mongoDB本地数据库中为我的类型执行GET请求:
app.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
Genre = require('./models/genre.js');
Application = require('./models/apps.js');
// Connect to Mongoose
mongoose.createConnection('mongodb://localhost/appstore');
var db = mongoose.connection;
// Root Call
app.get('/', function(request, response) {
response.send('Please use /api/apps or /api/genres/');
});
// Get genres
app.get('/api/genres', function(request, response) {
Genre.getGenres(function(error, genres){
if(error){
throw error;
}
response.json(genres);
});
});
// Get apps
app.get('/api/apps', function(request, response) {
Application.getApplications(function(error, apps){
if(error){
throw error;
}
response.json(apps);
});
});
app.listen(28017);
console.log('Running on port 28017...');
在这个文件中,我正在创建将在mongoDB中搜索所有类型的函数。不幸的是,它不会这样做并让我回头:
localhost没有发送任何数据。有时只是空行。
奇怪的是它适用于根调用(/)并将输出:
请使用/ api / apps或/ api / genres /
genre.js
var mongoose = require('mongoose');
// Genre Schema
var genreSchema = mongoose.Schema({
name: {
type: String,
required: true
},
create_date: {
type: Date,
default: Date.now
}
});
// this is now accessible from anywhere else
var Genre = module.exports = mongoose.model('genre', genreSchema);
// Get Genres
module.exports.getGenres = function(callback, limit){
Genre.find(callback).limit(limit);
}
我非常感谢任何帮助,因为这是我想要构建的第一个简单的REST api。提前谢谢!
答案 0 :(得分:0)
该解决方案显然使用了已弃用的功能:
mongoose.connect( '的mongodb://本地主机/ AppStore的');
代替:
mongoose.createConnection( '的mongodb://本地主机:27017 / AppStore的');