nodejs开发微博实例

2020-06-17 06:47:06易采站长站整理

以上的步骤都不算什么问题,问题就出在连接数据库的一系列问题!如下所述:

为了执行下面的操作,我们首先需要安装MongoDB数据库,博主推荐这篇博客:http://be-evil.org/install-mongodb-on-windows7.html

看了不少安装MongoDB的博客,这个是博主见过最有效的。

  对于新版本的express,按照书本上那样连接数据库会报错,连接数据库需要的文件时settings.js,这个按照书上的来没有问题,但是models中的db.js需要做一些改动。如果按照书中的代码:

  var settings = require('../settings');
var Db = require('mongodb').Db;
var Connection = require('mongodb').Connection;
var Server = require('mongodb').Server;
module.exports = new Db(settings.db, new Server(settings.host, Connection.DEFAULT_ PORT, {}));

可能会出现下面的问题:

博主google之后,才发现需要按照下面的格式书写:

   var settings = require('../settings'),
Db = require('mongodb').Db,
Connection = require('mongodb').Connection,
Server = require('mongodb').Server;
module.exports = new Db(settings.db, new Server(settings.host, Connection.DEFAULT_PORT, {}), {safe: true});

在引用settings模块的时候,如果按照书中的:

  var settings = require('../settings');

会出现:

这是因为最新的express版本中需要这样引用这个模块:

  var settings = require('./settings');

但是解决了这个问题之后,相继出现了下面这个令人蛋疼的情况:

一开始我也是琢磨不透,但是google的时候,有一个哥们做了很好的解答:

http://www.cnblogs.com/yumianhu/p/3709558.html

也就是说,在express4中我们需要自己安装express-session包,然后添加引用:

  var session  = require('express-session');

原来的数据库引用也需要改成:

  var MongoStore = require('connect-mongo')(session);

而这些代码:

  app.use(express.session({
secret: settings.cookie_secret,
store:new MongoStore({
db: settings.db
})}));

就需要改写成:

  app.use(session({
secret: settings.cookie_secret,