2017-02-12 1 views
0

私はMongoDB/Node.js/expressで初めてです。私はこの次のアプリケーションを設定しています: https://www.youtube.com/watch?v=eB9Fq9I5ocs "chatbot"という名前のデータベースと "chatbot"内の2つのコレクション、 "countries"と "population"を作成しました。空の配列を示すMongoDBエクスプレスアプリ

しかし、シェルで作成した国を表示するためにアプリケーションを実行しようとすると、空の配列だけが表示されます。ここで

はコレクション "国" である:ここでは

> db.countries.find() 
{ "_id" : ObjectId("58a0c3234d9ba38dcbe1769d"), "name" : "Afghanistan" } 
{ "_id" : ObjectId("58a0c3844d9ba38dcbe1769e"), "name" : "Andorra" } 

は私のアプリのファイルは、以下のとおりです。 package.jsonファイル:

{ 
    "name": "chatbot", 
    "version": "1.0.0", 
    "description": "chatbot app", 
    "main": "app.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "dependencies": { 
    "express": "*", 
    "body-parser": "*", 
    "mongoose": "*" 
    }, 
    "author": "Chris", 
    "license": "ISC", 
    "devDependencies": { 
    "nodemon": "^1.11.0" 
    } 
} 

app.js:

var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 
var mongoose = require('mongoose'); 

Country = require('./models/country.js'); 

// Connect to Mongoose 
mongoose.connect('mongodb://localhost/ChatbotService') 
var db = mongoose.connection; 

app.get('/', function(req, res){ 
    res.send('Hola'); 
}); 

app.get('/api/countries', function(req, res){ 
    Country.getCountries(function(err, countries){ 
     if(err){ 
      throw err; 
     } 
     res.json(countries); 
    }); 
}); 

app.listen(8601); 
console.log('Running on port 8601...'); 

国.js:

var mongoose = require('mongoose'); 

// Country Schema 
var countrySchema = mongoose.Schema({ 
    name:{ 
     type:String, 
     required: true 
    }, 
    create_date:{ 
     type: Date, 
     default: Date.now 
    } 
}); 

var Country = module.exports = mongoose.model('Country', countrySchema); 

// Get Countries 
module.exports.getCountries = function(callback, limit){ 
    Country.find(callback).limit(limit); 
} 

リロード時にこれが表示されます。 result after reload 助けがあれば助かります。

答えて

1

Chatbotはあなたのdb名ですが、ここではchatbotserviceを使用している mongoose.connect( 'mongodb:// localhost/ChatbotService')です。私はここで別のデータベースに接続していると思います。