sir*_*jay 2 connect mongodb node.js express socket.io
即时创建应用程序,使用nodejs(0.8.15),express(> 3.0)框架,socket.io和mongodb为注册用户.
1)每个人都知道只使用socket.io创建简单的聊天很容易,没有mongodb(或其他).那么,在这种情况下存储消息?在会议?
2)这第二个问题对我来说非常重要
我不明白:为什么MongoStore会在这里举行?我读到它是"SessionStorage for connect的会话中间件/ Connect".据我所知,当用户离开网站时,会话会被破坏.那么人们为什么要存储它并使用 require('connect-mongo')?
var config = require('../config'),
express = require('express'),
MongoStore = require('connect-mongo'),
server = express.createServer();
server.configure(function() {
server.use(express.logger());
server.use(express.methodOverride());
server.use(express.static(config.staticPath));
server.use(express.bodyParser());
server.use(express.cookieParser());
server.use(express.session({
store: new MongoStore({
db: config.db
}),
secret: config.salt
}));
});
Run Code Online (Sandbox Code Playgroud)
我刚刚找到的代码.它似乎是快递2.x.
3)connect-mongo和connect-mongodblibs有什么区别?
https://github.com/masylum/connect-mongodb
https://github.com/kcbanner/connect-mongo
4)我是否必须为cookies和套接字制作MongoStore?
谢谢!
1)没有?服务器接收消息,广播它并忘记它.谁有关于存储的问题?服务器可以只是一个代理.
2)因为一旦用户离开站点就不必销毁会话.例如,考虑一个商店.你去商店,把一些东西放在你的篮子里,然后关闭浏览器.3天后你回去,你仍然可以在篮子里看到你的物品.这只能通过存储在DB中的会话来完成(至少以可靠的方式).
这真的取决于你的需求.就我而言,我几乎没有使用基于数据库的会话.我使用像Redis这样的内存存储.
3)谁知道?可能是一些微妙的差异,我看不出任何明显的.
4)不.正如我所说:这取决于你的需求.如果您希望仅在用户实际查看页面时才激活会话,那么您可以坚持使用任何内存存储.或者你可能根本不需要会话,在这种情况下你根本不需要使用它.
| 归档时间: |
|
| 查看次数: |
2733 次 |
| 最近记录: |