小编Kev*_*ard的帖子

Connect-mongo会话不会自动删除

我有一个使用NodeJS,Express,MongoDB和connect-mongo的应用程序.

我的问题是,当MongoDB过期时,会话似乎没有自动删除,因此db大小会增加,直到磁盘已满.

connect-mongo的开发者写了一条评论:

connect-mongo将要求MongoDB删除当前日期之前已过期的所有会话.

但在我的情况下似乎并没有发生这种情况.

我的配置是:

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

var sessionStore = new MongoStore({db: 'myappsession'});

var app = express.createServer();

app.configure(function(){
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser());
    app.use(express.session({ secret: "myappsecret", store:sessionStore }));
    app.use(app.router);
    app.use(express.static(__dirname + '/public'));
});
Run Code Online (Sandbox Code Playgroud)

我目前正在运行以下版本:

  • 节点: 0.7.0-pre
  • connect-mongo: 0.1.7
  • 表达: 2.5.2
  • 连接: 1.8.5

session connect mongodb node.js express

10
推荐指数
2
解决办法
6441
查看次数

Haskell部分函数应用程序用$

我是Haskell的新手,看一个使用函数应用程序的简单例子$.

它似乎很简单 - 它需要一个函数并将其应用于一个值.

所以这是有道理的:

> (+3) $ 2
5
Run Code Online (Sandbox Code Playgroud)

这也是有道理的:

> ($) (+3) 2
5
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为第一个参数是函数,第二个参数是值.

现在考虑使用$创建部分功能.

查看类型,这是有道理的 - 它只需要一个Num类型值b:

> :t ($) (+3)
($) (+3) :: Num b => b -> b
Run Code Online (Sandbox Code Playgroud)

但是这里我迷路了 - 这里发生了什么?:

> :t ($) (2)
($) (2) :: Num (a -> b) => a -> b
Run Code Online (Sandbox Code Playgroud)

我原以为第一个参数需要是一个函数,而不是一个简单的Num值.

所以这是我的问题:

  1. 这里发生了什么事?
  2. 约束Num (a -> b)语法是什么意思?
  3. ($)以这种方式使用的例子是什么($) (2)

谢谢!

polymorphism haskell types partial-application parametric-polymorphism

4
推荐指数
1
解决办法
109
查看次数