Node.js服务器无法连接到MongooseDB
我试图运行Addy Osmani的书“Developing Backbone.js Applications”中的一些示例代码。一个练习提供了一个package.json文件,我用它来安装Node.js服务器无法连接到MongooseDB,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我试图运行Addy Osmani的书“Developing Backbone.js Applications”中的一些示例代码。一个练习提供了一个package.json文件,我用它来安装npm,它安装了Express、Mongoose和Path。从那里,我从同一目录运行了node server.js,它给了我以下错误: Express server listening on port 4711 in development mode events.js:72 throw er
npm
,它安装了Express、Mongoose和Path。从那里,我从同一目录运行了node server.js
,它给了我以下错误:
Express server listening on port 4711 in development mode
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]
at null.<anonymous> (C:\backbone-fundamentals\exercise-2\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:648:74)
...
at process._tickCallback (node.js:415:13)
您没有安装MongoDB
查看此信息您尚未安装MongoDB
请查看上述书籍第106页的,上面说要安装MongoDB: 从MongoDB.org下载并安装MongoDB。网站上有详细的安装指南
因此,一旦您这样做了,在使用Mongoose时连接到DB应该不会有任何问题。在上述书的第106页,它说要安装MongoDB: 从MongoDB.org下载并安装MongoDB。网站上有详细的安装指南
因此,一旦您这样做了,在使用Mongoose时连接到DB应该不会有任何问题。在
Mongoose.connect.之后……
addMongoose.on(“error”,function(err){console.log(“Mongoose error:,err)})
并再次运行该应用程序。具体的错误应该在那里,如果你需要帮助,在这里发布(评论或编辑)。嗯,这是正确的语法吗?我现在得到这个错误:mongoose.on(“error”,function(err){console.log(“mongoose error:,err)});^TypeError:Object#没有方法“on”
根据这个问题,我试图捕获回调中的错误,它给了我一个错误[错误:无法连接到[localhost:27017]]
,这与我们以前的情况差不多。您安装了MongoDB吗?Mongoose要求MongoDB运行。此错误表示未正确运行或配置。在shell(终端)中,运行mongo
以连接到本地数据库。这行吗?在mongoose.connect….
addmongoose.on(“error”,function(err){console.log(“mongoose error:,err)})之后
并再次运行该应用程序。具体的错误应该在那里,如果你需要帮助,在这里发布(评论或编辑)。嗯,这是正确的语法吗?我现在得到这个错误:mongoose.on(“error”,function(err){console.log(“mongoose error:,err)});^TypeError:Object#没有方法“on”
根据这个问题,我试图捕获回调中的错误,它给了我一个错误[错误:无法连接到[localhost:27017]]
,这与我们以前的情况差不多。您安装了MongoDB吗?Mongoose要求MongoDB运行。此错误表示未正确运行或配置。在shell(终端)中,运行mongo
以连接到本地数据库。这行吗?不能两者都接受,但你可以接受第一个正确答案:PHaha,好吧,我们可以永远分开头发。你的评论和投票得到10分,这是我能做的最好的了。不能同时接受这两个,但你可以接受第一个正确的:PHaha,好吧,我们可以永远扯淡。你的评论和投票得10分,所以这是我能做的最好的了。
'use strict';
// Module dependencies.
var application_root = __dirname,
express = require( 'express' ), //Web framework
path = require( 'path' ), //Utilities for dealing with file paths
mongoose = require( 'mongoose' ); //MongoDB integration
//Create server
var app = express();
//Connect to database
mongoose.connect( 'mongodb://localhost/library_database' );
//Schemas
var Keywords = new mongoose.Schema({
keyword: String
});
var Book = new mongoose.Schema({
title: String,
author: String,
releaseDate: Date,
keywords: [ Keywords ]
});
//Models
var BookModel = mongoose.model( 'Book', Book );
// Configure server
app.configure( function() {
//parses request body and populates request.body
app.use( express.bodyParser() );
//checks request.body for HTTP method overrides
app.use( express.methodOverride() );
//perform route lookup based on url and HTTP method
app.use( app.router );
//Where to serve static content
app.use( express.static( path.join( application_root, 'site') ) );
//Show all errors in development
app.use( express.errorHandler({ dumpExceptions: true, showStack: true }));
});
// Routes
app.get( '/api', function( request, response ) {
response.send( 'Library API is running' );
});
//Get a list of all books
app.get( '/api/books', function( request, response ) {
return BookModel.find( function( err, books ) {
if( !err ) {
return response.send( books );
} else {
return console.log( err );
}
});
});
//Get a single book by id
app.get( '/api/books/:id', function( request, response ) {
return BookModel.findById( request.params.id, function( err, book ) {
if( !err ) {
return response.send( book );
} else {
return console.log( err );
}
});
});
//Insert a new book
app.post( '/api/books', function( request, response ) {
var book = new BookModel({
title: request.body.title,
author: request.body.author,
releaseDate: request.body.releaseDate,
keywords: request.body.keywords
});
book.save( function( err ) {
if( !err ) {
return console.log( 'created' );
} else {
return console.log( err );
}
});
return response.send( book );
});
//Update a book
app.put( '/api/books/:id', function( request, response ) {
console.log( 'Updating book ' + request.body.title );
return BookModel.findById( request.params.id, function( err, book ) {
book.title = request.body.title;
book.author = request.body.author;
book.releaseDate = request.body.releaseDate;
book.keywords = request.body.keywords;
return book.save( function( err ) {
if( !err ) {
console.log( 'book updated' );
} else {
console.log( err );
}
return response.send( book );
});
});
});
//Delete a book
app.delete( '/api/books/:id', function( request, response ) {
console.log( 'Deleting book with id: ' + request.params.id );
return BookModel.findById( request.params.id, function( err, book ) {
return book.remove( function( err ) {
if( !err ) {
console.log( 'Book removed' );
return response.send( '' );
} else {
console.log( err );
}
});
});
});
//Start server
var port = 4711;
app.listen( port, function() {
console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );
});