当前位置:   article > 正文

mongoDB使用详解(在node中使用)_mongodb4.16 node

mongodb4.16 node

数据库概念

数据库:数据存储的仓库

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

数据库分类

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

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

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

MongoDB 数据库

  1. 为了更好的学习 MongoDB 数据库,大家可以参考菜鸟教程上的 MongoDB 数据库教程文档,
  2. 链接地址:http://www.runoob.com/mongodb/mongodb-tutorial.html
  3. mongodb数据库官网:https://www.mongodb.com/
  4. 下载地址:https://www.mongodb.com/download-center?jmp=nav
  5. 选择好对应的版本下载即可

为什么选择MongoDB?

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

安装与配置 MongoDB 数据库环境

  1. 详情见视频:
  2. 怎么验证安装成功:
  3. 在cmd终端中输入: mongo --version 或是 mongod --version ,能看到版本好,说明安装成功
  4. 如果终端中输入 mongo --version 提示找不到命令,一定要看看是不是没有配置mongodb的环境变量,并且配置环境变量之后一定要记得重启cmd

window7安装MongoDB存在的问题

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

MongoDB 数据库存储结构

mongodb数据存储结构

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

操作MongoDB的步骤

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

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

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

MongoDB使用之前必做步骤2--启动服务器(必须)
  1. 启动MongoDB服务器的方式一:通过终端指令去启动
  2. 1.首先在终端切换到你的MongoDB的安装目录的bin目录下(当然如果配置了环境变量在哪个目录下都可以了)
  3. 2.在终端执行: mongod.exe --dbpath c:\mongodb_datas ,如果成功启动就表示一切都OK了
  4. 注意点:
  5. 1.32 位版本使用下面的命令启动数据服务:
  6. ```
  7. mongod --dbpath 数据存储路径 --journal --storageEngine=mmapv1
  8. ```
  9. 2.执行完上面的命令并成功开启 MongoDB 数据服务实例之后,就把该控制台最小化到一边就可以了,
  10. 千万不要关闭,否则无法连接,如果对数据库的操作结束,可以打开该控制台通过 `Ctrl + C` 关闭。
  11. 启动MongoDB服务器的方式二:方式一的延续,把上面的指令做成一个批处理文件.bat
  12. 启动MongoDB服务器的方式三:将MongoDB服务器作为Windows服务运行
  13. 请注意,你必须有管理权限才能运行下面的命令。执行以下命令将MongoDB服务器作为Windows服务运行:
  14. mongod.exe --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
  15. 例子:
  16. 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
  17. 补充:从Windows服务中卸载 MongoDB服务
  18. 1.先停止要删除的服务(比如MongoDBServer)
  19. 2.以管理员身份运行cmd,在cmd中输入: sc delete 服务名称(比如MongoDBServer)
  20. 注意点:
  21. 1.mongodb.log 这个日志文件一定要先创建好,才能执行指令
  22. 2.必须要以管理员的身份打开cmd窗口,并运行

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

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

  1. 可以使用两种方式来连接到MongoDB服务器并且操作它
  2. 连接方式1:使用MongoDB自带的MongoDB后台管理 Shell
  3. 在终端中输入 mongo 或是 mongo --host 127.0.0.1 --port 27017
  4. mongo 命令默认去连接本机上的 MongoDB 服务实例:`127.0.0.1:27017`,可以通过下面的命令
  5. 指定连接的主机名和端口号:
  6. ```
  7. mongo --host 127.0.0.1 --port 27017
  8. ```
  9. 如果看到类似于如下的字样说明连接成功:
  10. ```
  11. MongoDB shell version v3.4.2
  12. connecting to: mongodb://127.0.0.1:27017
  13. MongoDB server version: 3.4.2
  14. Server has startup warnings:
  15. 2017-01-18T18:49:53.865+0800 I CONTROL [initandlisten]
  16. 2017-01-18T18:49:53.865+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
  17. 2017-01-18T18:49:53.866+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
  18. 2017-01-18T18:49:53.866+0800 I CONTROL [initandlisten]
  19. >
  20. ```
  21. 如果提示 “无法连接主机”,请检查你的 MongoDB 数据服务实例是否开启。
  22. 操作方式1:在终端中使用mongodb的指令进行操作
  23. 常见指令:
  24. 见下一个知识点
  25. 连接及操作方式2:使用图形化客户端工具:
  26. robomongo(跨平台) : https://robomongo.org/download

基本操作命令

  1. 可以参考:
  2. http://www.yiibai.com/mongodb/mongodb_create_collection.html
  3. 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/599472
推荐阅读
相关标签
  

闽ICP备14008679号