mongoDB使用详解(在node中使用)

数据库概念

数据库:数据存储的仓库

数据库就是为我们方便的管理数据的一个平台,例如对数据的存储、修改、查询等都非常的方便。

数据库分类

数据库产品有很多,以下是一些常见的数据库产品:

  • MySQL
  • Oracle
  • DB2
  • SqlServer
  • MongoDB
  • etc.

数据库没有排名之分,各有各的应用场景,我们这里学习的是 MongoDB 数据库。

MongoDB 数据库

为了更好的学习 MongoDB 数据库,大家可以参考菜鸟教程上的 MongoDB 数据库教程文档,
链接地址:http://www.runoob.com/mongodb/mongodb-tutorial.html

mongodb数据库官网:https://www.mongodb.com/

下载地址:https://www.mongodb.com/download-center?jmp=nav
选择好对应的版本下载即可

为什么选择MongoDB?

理由:

    1.只要会js就会mongodb(学习成本低)
    2.mongodb对js的兼容性最好
    3.mongodb存数据就是存JSON

安装与配置 MongoDB 数据库环境

详情见视频:

怎么验证安装成功:
    在cmd终端中输入: mongo --version 或是 mongod --version ,能看到版本好,说明安装成功

如果终端中输入 mongo --version 提示找不到命令,一定要看看是不是没有配置mongodb的环境变量,并且配置环境变量之后一定要记得重启cmd

window7安装MongoDB存在的问题

建议:升级到window10

解决步骤:
    1.将你的操作系统升级到window7最新版
    2.安装 vc_redist.x64.exe 
    3.如果你的电脑是32位的,再安装32位的mongodb软件 mongodb-win32-i386-3.2.11-signed.msi

MongoDB 数据库存储结构

mongodb数据存储结构

和Excel对比一下即可明白:


核心思想:
    1.分门别类的存储数据
    2.mongodb是以`集合`的概念来区分不同数据的,比如用户集合,商品集合,订单集合等等,不同的数据要放在不同的集合中去统一管理
    3.集合里面存储的可以认为是一个数组
    4.数组中的每一个对象,可以认为就是JSON对象,在mongodb中我们称之为 `文档`
    5.文档的结构可以随意,但是必须统一,也就是说,同一个集合中,所有的文档一定要遵守相同的数据结构

其他:
    `集合`的作用就是用来隔离数据,分门别类的存储数据

操作MongoDB的步骤

1.创建数据库中数据的存储目录
2.启动MongoDB的服务实例
3.创建数据库
4.创建集合
5.创建文档

MongoDB使用之前必做步骤1--创建数据目录(必须)

我们在安装完成MongoDB后需要创建一个存放数据的目录。请注意,数据目录应该放在根目录下((如: C:\ 或者 D:\ 等 ),数据目录的命名随意,比如我就命名 mongodb_datas

MongoDB使用之前必做步骤2--启动服务器(必须)
启动MongoDB服务器的方式一:通过终端指令去启动

    1.首先在终端切换到你的MongoDB的安装目录的bin目录下(当然如果配置了环境变量在哪个目录下都可以了)

    2.在终端执行: mongod.exe --dbpath c:\mongodb_datas ,如果成功启动就表示一切都OK了

    注意点:
        1.32 位版本使用下面的命令启动数据服务:
        ```
        mongod --dbpath 数据存储路径 --journal --storageEngine=mmapv1
        ```

        2.执行完上面的命令并成功开启 MongoDB 数据服务实例之后,就把该控制台最小化到一边就可以了,
        千万不要关闭,否则无法连接,如果对数据库的操作结束,可以打开该控制台通过 `Ctrl + C` 关闭。

启动MongoDB服务器的方式二:方式一的延续,把上面的指令做成一个批处理文件.bat


启动MongoDB服务器的方式三:将MongoDB服务器作为Windows服务运行

    请注意,你必须有管理权限才能运行下面的命令。执行以下命令将MongoDB服务器作为Windows服务运行:

    mongod.exe --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install

    例子:
        mongod.exe --bind_ip 127.0.0.1 --logpath "C:\mongodb_datas\server_log\mongodb.log" --logappend --dbpath "c:\mongodb_datas" --port 27017 --serviceName "MongoDBServer" --serviceDisplayName "MongoDBServerDisplayName" --install


    补充:从Windows服务中卸载 MongoDB服务
        1.先停止要删除的服务(比如MongoDBServer)
        2.以管理员身份运行cmd,在cmd中输入: sc delete 服务名称(比如MongoDBServer)

    注意点:
        1.mongodb.log 这个日志文件一定要先创建好,才能执行指令
        2.必须要以管理员的身份打开cmd窗口,并运行

如何连接到MongoDB服务器并且操作它?

注意:在进行连接之前请确保你的服务实例是开启状态的(不要关闭刚才开启的数据服务实例)。

可以使用两种方式来连接到MongoDB服务器并且操作它

连接方式1:使用MongoDB自带的MongoDB后台管理 Shell
    在终端中输入 mongo 或是 mongo --host 127.0.0.1 --port 27017

    mongo 命令默认去连接本机上的 MongoDB 服务实例:`127.0.0.1:27017`,可以通过下面的命令
    指定连接的主机名和端口号:
    ```
    mongo --host 127.0.0.1 --port 27017
    ```

    如果看到类似于如下的字样说明连接成功:
    ```
    MongoDB shell version v3.4.2
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.2
    Server has startup warnings:
    2017-01-18T18:49:53.865+0800 I CONTROL  [initandlisten]
    2017-01-18T18:49:53.865+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
    2017-01-18T18:49:53.866+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
    2017-01-18T18:49:53.866+0800 I CONTROL  [initandlisten]
    >
    ```
    如果提示 “无法连接主机”,请检查你的 MongoDB 数据服务实例是否开启。

操作方式1:在终端中使用mongodb的指令进行操作

        常见指令:
            见下一个知识点


连接及操作方式2:使用图形化客户端工具:
    robomongo(跨平台) : https://robomongo.org/download

基本操作命令

可以参考:
    http://www.yiibai.com/mongodb/mongodb_create_collection.html

    http://www.runoob.com/mongodb/mongodb-tutorial.html
  • show dbs
    • 查看当前服务实例上所有的数据库
  • use 数据库名称
    • 如果数据库不存在,则创建数据库,否则切换到指定数据库。
  • db
    • 查看当前所处的数据库
  • show collections
    • 查看当前数据库中所有的集合
  • db.createCollection("集合名称")
    • 创建集合
  • db.集合名称.insert({数据文档})
    • 插入的每一条文档会自动帮我们生成一个_id字段,它是mongodb自动维护的,不需要我们关心
  • db.集合名称.find()
    • 查询指定集合中所有的数据
    • 可以通过 db.集合名称.find().pretty() 美化输出格式
    • 默认是查询所有,可以通过:db.集合名称.find({查询条件}) 按条件查询集合中的数据
  • db.集合名称.update({更新条件}, {要更新的字段})
    • 更新指定集合数据,注意点,要更新的字段一定要这样写 {$set:{字段的名称:字段的值}},
  • db.集合名称.remove({删除条件})
    • 删除指定集合中的数据
  • exit 退出当前操作
  • cls 清屏

    注意点:更新和删除时一般都需要带条件,除非是全部更新与全部删除,不过全部更新与全部删除这样很危险,实际操作过程中很少

使用 Node 操作 MongoDB

安装 MongoDB 官方提供的驱动包:

npm install --save mongodb

具体操作方式请参考官方文档:https://www.npmjs.com/package/mongodb

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITzhongzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值