node+mongodb

455 阅读3分钟

一、安装MongoDB以及配置文件

1.下载安装

    可以选择自己喜欢的目录安装(比如D盘)选择custorm设置目录

2.检测MongoDB是否安装成功,并配置启动命令

    MongoDB安装目录的bin目录下,打开cmd命令行,输入命令‘mongod --help[mongod -h]’

3.设置数据文件和日志文件的存储位置

    按自己的爱好设置文件的储存位置,本安装文档的储存位置设置在E盘,目录如下

    E:\MongoDATA

    ├─data    #MongoDB数据库中的数据的储存位置

    └─log     #MongoDB数据库中的日志的储存位置

           └─mongodb.log     # MongoDB数据库中的日志的储存文件

4.设置MongoDB服务

    (1)设置MongoDB的环境变量

             计算机>右键>属性>高级系统设置>环境变量>找到系统变量中的path变量

             向path变量的结尾处添加MongoDB的安装目录下bin目录的地址

             

    (2)安装MongoDB服务

             在开始处用管理员身份打开cmd命令行,输入以下修改好的指令回车(ps:一定要以                 管理员身份运行)

             按照设置的储存位置,修改下面的命令(ps:如果是按本文档设置的储存位置,不用                 在做更改)

mongod --logpath "E:\MongoData\log\mongodb.log" --logappend --dbpath
"E:\MongoData\data" --directoryperdb --serviceName  "MongoDB" --serviceDisplayName "MongoDB" --install

    #命令中字段的说明

        *******  --logpath 指定MongoDB日志文件的存储路径,注意是指定文件不是目录

        *******   --logappend 使用追加的方式写日志

      **  *** **  --dbpath 指定数据库数据的存储路径

      *******   --directoryperdb 每个DB都会新建一个目录

        *******   --serviceName 指定服务名称

        *******   --serviceDisplayName 指定服务名称,有多个mongodb服务时执行。

        *******   --install 指定作为一个Windows服务安装。

5.启动MongoDB服务

  MongoDB安装目录的bin目录下,打开cmd命令行(服务端和客户端是两个cmd且不能关闭

  (1)启动客户端    mongo

  (2)启动服务端    mongod --dbpath:E:/MongoData/data

二、用express搭建node服务

1.新建一个目录,在本目录下打开cmd(终端),执行初始化 npm init

    会自动生成一个package.json,包含项目名字、版本号、项目描述、入口文件、单元测试、远程仓库、关键字、作者、许可证

2.项目目录 app.js 入口文件   把package.json  里  main 改成 "main":"app.js"  各种模块引入

3. bin  目录下是 www 配置文件  启动文件在package.json 设置 start                 (npm start 启动后台)

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node ./bin/www",
    "zs": "在packjson里面的script字段中写入一个 start 启动时就写成 npm start 否则换成其他字段必须用npm run字段启动 在相应的字段后面写上 node ./bin/www"
},

    routers是路由文件(包括以下文件)

    setting.js 链接数据库的路径

    db.js 链接数据库 封装了数据的增删改查方法

    index.js 是接口文件(express.router())

    views 是静态资源文件 可以没有

4.搭简易服务器

1.导入http模块:var http=require("http");
2.创建服务器:varserver=http.createServer(function(req,res){ res.end()  //响应结束 })
  其中req是request的简写请求(可以去做路由)   res是response的简写  响应
3.挂起服务器:server.listen(3000,“127.0.0.1”)  localhost
*** 引入express主要是为了做路由(所谓的接口)包含好多中间件

5.暴露模块的两种方式及区别

exports暴露模块   module.exports暴露的是一个对象
区别:
    1.module.exports初始值为一个空对象{} 只能出现一次 是个类(构造函数)
    2.exports是指向的module.exports的引用  可以出现多次 不能暴露构造函数
    3.require()返回的是module.exports而不是exports
用法:
    exports:
        exports.msg=msg; //msg是一个变量
        exports.show=show; //show是一个函数
    module.exportsmodule.exports={
            msg:msg,//msg是一个变量
            show:show //show是一个函数
        }
        module.exports=People;  //People是一个构造函数

把各种模块下载到生产环境中会在package.json中生成

最后  npm start 启动