node.js 开发指南microblog—— Require MongoStore option db missing
发布于 5个月前 作者 cpleecn 659 次浏览

弄了一天不知道怎么解决这个错误,求解救,感激万分。。。。 源代码:settings: module.exports={ cookieSecret:’microblogbyvoid’, db:’microblog’, host:’localhost’,
}; app.js中MongoStore var MongoStore=require(‘connect-mongo’)(express); app.use(express.session({ secret:settings.cookieSecret, store:new MongoStore({ db:settings.db }) })); 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,{}),{w:1});

2 回复

请说明你用的是express吗?express版本是3.x还是4.x? express 4 版本与express 3 有很大区别。 或者请你参考我的文章:使用express4.x版和Jade模板重写《nodejs开发指南》微博实例

我的文章:使用express4.x版和Jade模板重写《nodejs开发指南》微博实例 ,使用3个js来控制mongodb

settings.js的代码: //定义数据库 module.exports = { cookieSecret: 'microblogtony2014’, db: 'blog’, host: 'localhost’, };


db.js代码: //链接数据库 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});


user.js代码: //数据库操作 var mongodb = require(‘./db’);

function User(user) { this.name = user.name; this.password = user.password; };

module.exports = User;

//存入Mongodb的文档 User.prototype.save = function save(callback) { var user = { name: this.name, password: this.password, };

mongodb.open(function(err, db) { if (err) { return callback(err); } //读取users集合 db.collection('users’, function(err, collection) { if (err) { mongodb.close(); return callback(err); } // 为name属性添加索引 // collection.ensureIndex('name’, {unique: true});

    //写入user文档
    collection.insert(user, {safe: true}, function(err, user) {
        mongodb.close();
        callback(err, user);
    });
});

});

}

User.get = function get(username, callback) { mongodb.open(function(err, db) { if (err) { return callback(err); } //读取users集合 db.collection('users’, function(err, collection) { if (err) { mongodb.close(); return callback(err); } //查找name属性为username的文档 collection.findOne({name: username}, function(err, doc) { mongodb.close(); if (doc) { //封装文档为User对象 var user = new User(doc); callback(err, user); } else { callback(err, null); } }); }); }); };

回到顶部