2017-08-17 18 views
0

私はこのチュートリアルの最初のapiを構築するためにhttps://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbdに従っていました。nodejs:中古モデルについて文句を言う

すべてがうまくいき、場所とお気に入りを保存するように変更し、FavoritesModel.jsとLocationsModel.jsを作成しました。私はnpm run startを実行したときに

私server.jsは今

var express = require('express'), 
app = express(), 
port = process.env.PORT || 3000, 
mongoose = require('mongoose'), 
Location = require('./api/models/LocationsModel'), 
Favorite = require('./api/models/FavoritesModel'), 
bodyParser = require('body-parser'); 

mongoose.Promise = global.Promise; 
mongoose.connect('mongodb://localhost/db'); 
require("./api/models/LocationsModel"); 
require("./api/models/FavoritesModel"); 


app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

var routes = require('./api/routes/geolocationAPIRoutes'); 
routes(app); 

app.listen(port); 

console.log('geolocation RESTful API server started on: ' + port); 

app.use(function(req, res) { 
res.status(404).send({url: req.originalUrl + ' not found'}) 
}); 

はしかし、私は私が間違って何をやっているMissingSchemaError: Schema hasn't been registered for model "Tasks".

を取得したのか?タスクの参照はもうありません。 APIなどを再構築する必要はありますか?私はすでにnpm rebuildでした。

+0

これを削除しても、Tasksスキーマはなくなりました。 – SuperMonteiro

答えて

0
Location = require('./api/models/LocationsModel'), // remove this 
Favorite = require('./api/models/FavoritesModel'), // remove this 
bodyParser = require('body-parser'); 

mongoose.Promise = global.Promise; 
mongoose.connect('mongodb://localhost/db'); 
var Location = require("./api/models/LocationsModel");// change this 
var Favorite = require("./api/models/FavoritesModel");// change this 

これらのモデルは2回必要です。 接続する前に必要なものを削除してください。接続後の文章変数。

+0

ありがとうございますが、私は 'Error:Route.post()にコールバック関数が必要ですが、[オブジェクトが未定義です]'が表示されています – SuperMonteiro

+0

@SuperMonteiroこれは別の問題です。しかしここにあなたのRoute.postコードを投稿すれば、私はあなたを手伝ってくれるでしょう。 – ZeroCho

+0

それは物事です、私はRoute.post()を全く書きませんでした。 – SuperMonteiro

関連する問題