Session 点头。MongoDB中的会话存储应该使用哪个库
我在MongoDB中找到了三个会话存储库:连接MongoDB,连接mongo,连接会话mongo 哪一个是最好的 编辑:因此,如果我要使用connect mongodb,我必须建立两个db连接。对于会话存储,首先:Session 点头。MongoDB中的会话存储应该使用哪个库,session,mongodb,node.js,Session,Mongodb,Node.js,我在MongoDB中找到了三个会话存储库:连接MongoDB,连接mongo,连接会话mongo 哪一个是最好的 编辑:因此,如果我要使用connect mongodb,我必须建立两个db连接。对于会话存储,首先: var connect = require('connect') , Db = require('mongodb').Db , Server = require('mongodb').Server , server_config = new Server('localho
var connect = require('connect')
, Db = require('mongodb').Db
, Server = require('mongodb').Server
, server_config = new Server('localhost', 27017, {auto_reconnect: true,
native_parser: true})
, db = new Db('test', server_config, {})
, mongoStore = require('connect-mongodb');
connect.createServer(
connect.bodyParser(),
connect.cookieParser(),
connect.session({
cookie: {maxAge: 60000 * 20} // 20 minutes
, secret: 'foo'
, store: new mongoStore({db: db})
})
);
第二个用于我的猫鼬连接:
var mongoose = require('mongoose');
db = mongoose.connect('mongodb://localhost/test');
....
这是真的吗?列在Connect的(会话存储)页面上,它拥有最多的追随者(111个),而且它的更新非常活跃(上次更新约8小时前),所以如果我是你,我可能会选择那个
编辑:
关于第二个问题,如何将connect mongodb与Mongoose一起使用,下面是一个示例:
var connect= require('connect'),
mongoose = require('mongoose'),
mongoStore = require('connect-mongodb'),
my_db = "mongodb://localhost/test",
db;
connect.createServer(
...
connect.session({ store: mongoStore(my_db, secret: 'topsecret' }));
...
);
db = mongoose.connect(my_db);
Nodepad是一款真正的应用程序,使用Express、connect mongodb和Mongoose,您可以在此处签出主应用程序文件:connect mongodb会自动为您连接。您将传入字符串,该字符串是数据库名称和可选的主机(默认为localhost)。下面是我们如何使用它
app.use(express.session({
secret: "x2kjh2323hjhjk32hjk23uhi23",
store: new MongoStore({host: "200.11.11.11", db: 'sessions'}),
cookie: {maxAge: 604800000}
}))
来自API文档:不幸的是,从版本1开始。*我不能这么做。此版本与0.*版本不兼容。现在必须通过mongodb连接或服务器配置。更新时,我建议删除当前会话集合数据已更新,以反映它只是一个字符串。它来自一个名为hosts的配置文件,这是必需的。我已经编辑了我的答案来回答您的第二个问题,请查看。事实上,截至2013年2月24日,connect mongo在每个指标上都优于connect mongodb。它还有大约20个星型和3个分叉,也在第三方中间件页面上列出,并且正在更积极地进行维护(connect mongodb自述文件目前以“需要维护者”标题开头)。此外,它们都可以从Mongoose对象获取连接设置。