我有一个使用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)
我目前正在运行以下版本:
我是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值.
所以这是我的问题:
Num (a -> b)语法是什么意思?($)以这种方式使用的例子是什么($) (2)?谢谢!
polymorphism haskell types partial-application parametric-polymorphism