Expressjs +mongoose – 这个网页不可用?
为什么mongoose崩溃expressjs网站?
以下是我的代码:
var express = require('express'); var mongoose = require('mongoose'); var app = express(); // Connect to mongodb mongoose.connect("mongodb://localhost/testdb", function(err) { if (err) throw err; console.log("Successfully connected to mongodb"); // Start the application after the database connection is ready app.listen(3000); console.log("Listening on port 3000"); }); // With Mongoose, everything is derived from a Schema. Let's get a reference to it and define our users. var userSchema = mongoose.Schema({ name: String, username: { type: String, required: true, unique: true }, password: { type: String, required: true }, admin: Boolean, location: String, meta: { age: Number, website: String }, created_at: Date, updated_at: Date }); // The next step is compiling our schema into a Model. var User = mongoose.model('User', userSchema); // Set route. app.get("/", function(req, res) { // We can access all of the user documents through our User model. User.find(function (err, users) { if (err) return console.error(err); console.log(users); }) });
我在浏览器中得到这个:
This webpage is not available
但在我的terminal,我得到的结果是:
Successfully connected to mongodb Listening on port 3000 [ { _id: 57682f69feaf405c51fdf144, username: 'testuser1', email: 'testuser1@testdomain.com' }, { _id: 57683009feaf405c51fdf145, username: 'testuser2', email: 'testuser2@testdomain.com' }, { _id: 57683009feaf405c51fdf146, username: 'testuser3', email: 'testuser3@testdomain.com' }]
任何想法,我已经错过了?
问题在于你没有在请求处理程序中的响应对象中写任何东西。 因此,浏览器一直等待请求完成,并以超时结束。 在你的app.get()中,你可以像这样更新响应:
// Set route. app.get("/", function(req, res) { // We can access all of the user documents through our User model. User.find(function (err, users) { if (err) { console.error(err); // some simple error handling, maybe form a proper error object for response. res.status(500).json(err); } console.log(users); res.status(200).json(users); // setting the object as json response //OR // res.end(); if you don't want to send anything to the client }) });
或类似的东西。
有关更多详细信息,请参阅Express文档: http : //expressjs.com/en/api.html#res
- 如何用express.jsconfigurationdynamic路由
- mongo / node TypeError:callback不是查询中的函数
- Express EJS布局:res.locals不在布局中呈现
- 用摩卡expressiontesting:基于承诺的testing不会自行运行?
- 如何在for循环中使用node-schedule来安排任务?
- Ajax Express NodeJS在页面的一部分加载ejs模板
- Jade不再接受没有JavaScript划定的内联variables?
- 在基本的Node / Express中,是否有办法将JSON文件视为RESTful资源?
- Jade Minified Javascript未被parsing为文本块