• NodeJS



    Express在使用mongodb的时候app配置出错

    //settings.js

    module.exports={

       cookieSecret:"xxxx",

       db:"dbname",

       host:"localhost",

    }


    //app.js

    var express = require("express");

    var settings = require("./settings");


    载入connect-mongo的出错写法:

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

    app.use(express.session({
        secret:Settings.cookieSecret,
        key:Settings.db,
        cookie:{maxAge:1000*60*60*24*30},//30 days
        store:new MongoStore({
            db:Settings.db
        })
    }));

    启动后报错:TypeError: Cannot read property 'Store' of undefined

    以上是 express<4的写法


    express 4.0之后(包含4.0)写法例如以下:

    var session = require("express-session");

    var MongoStore=require("connect-mongo")(session);

    app.use(session({

       secret:settings.cookieSecret,

       store:new MongoStore({

          db:settings.db

       })

    });


    package.json配置例如以下

    {
      "name": "dbTest",
      "version": "0.0.1",
      "private": true,
      "scripts": {
        "start": "node ./bin/www"
      },
      "dependencies": {
        "express": "~4.2.0",
        "static-favicon": "~1.0.0",
        "morgan": "~1.0.0",
        "cookie-parser": "~1.0.1",
        "body-parser": "~1.0.0",
        "debug": "~0.7.4",
        "ejs": "~0.8.5",
        "mongodb":"*",
        "connect-mongo":"*",
        "express-session":"*"
      }
    }

    //假设文件夹下没有运行过npm install请在添加mongodb,connect-mongo,express-session之后在package.json文件夹下运行一下npm install

    以上是express中对mongodb的配置,假设你本地没有装mongodb的数据库请到http://www.mongodb.org/downloads下载安装。


  • 相关阅读:
    Mysql常用sql&索引失效场景
    Linux命令demo
    js中浮点数的精度问题
    Linux运行程序出现Cannot execute binary file
    我的第一篇博客文(抽象类练习)
    关于MyEclipse中build path和compiler的jre不匹配
    jQuery操作单选框、多选框是否选中问题
    oracle索引操作
    JS组件多选下拉框Bootstrap之select2 使用心得
    MyEclipse10——java项目clean重新编译
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5148002.html
Copyright © 2020-2023  润新知