当前位置:   article > 正文

MongoDB数据库启动与_id_mongo数据库启动地址

mongo数据库启动地址
  1. 一、NoSQL数据库简介
  2. NoSQL数据库依然不可能离开传统的关系数据库(NotNoSQL数据库依然不可能离开传统的关系数据库(Not only SQL)
  3. MongoDB数据库之中与关系型数据库有如下的概念对应:
  4. 关系型数据库 NoSQL数据库
  5. 数据库 数据库(类似于MySQL)
  6. 表 集合
  7. 行 文档
  8. 列 成员
  9. 主键 Object ID(自动维护的)
  10. MongoDB数据库是发展最好的NoSQL数据库,因为它与Node.js捆绑在一起了。从事Node.js开发,一定要使用MongoDB。
  11. MongoDB之所以能够更好的发展也取决于:面向集合的存储过程,模式自由(无模式)、方便地进行数据的
存储扩充、支持索引、值短暂数据保留、具备完整的数据库状态监控、基于BSON应用
  1. 二、MongoDB启动
  2. 刚安装完成之后,严格来讲不能够在Windows下使用,需要为他配置path环境。
  3. 配置目录:D:\MongoDB\bin
  4. 新建一个文件夹,这个文件夹将保存所有的数据库信息。(db文件夹)
  5. MongoDB数据库的启动需要使用mongod.exe命令完成,可以设置端口号。
  6. 1.不设置端口号启动MongoDB服务:
  7. mongod --dbpath D:\MongoDB\db
  8. 当MongoDB服务启动之后,可以使用mongo命令连接数据库,连接后显示:
  9. MongoDB shell version: 3.2.10
  10. connecting to: test
  11. 查询数据库
  12. show databases;
  13. 只有local数据库,但是这个数据库不适用
  14. 此时,虽然实现了数据库的连接,但是没有实际意义。
  15. 若日后要通过程序访问数据库的话,要设端口号
  16. 2.设置端口号启动MongoDB服务:
  17. mongod --dbpath D:\MongoDB\db --port=27001
  18. 1、>启动的要配置一些参数端口号、是否启用用户验证、数据文件的位置等等
  19. 在D:\MongoDB目录下建立文件“mongodb.conf”
  20. #设置数据目录的路径
  21. dbpath = D:\MongoDB\db
  22. #设置日志信息的文件路径
  23. logpath = D:\MongoDB\log\mongodb.log
  24. #打开日志输出操作
  25. logappend = true
  26. #不使用验证登录
  27. noauth = true
  28. port = 27001
  29. 2、>重新启动MongoDB数据库服务
  30. 1、切换到admin数据库 use admin
  31. 2、关闭数据库 db.shutdownServer()
  32. 3、重新启动
  33. 用配置文件启动:
  34. mongod -f D:\MongoDB\mongodb.conf
  35. 3、>服务器已有端口号,不能直接用mongo命令(要指定端口号)
  36. C:\Users\YJDN>mongo --port=27001
  37. MongoDB shell version: 3.2.10
  38. connecting to: 127.0.0.1:27001/test
  39. 三、简单的数据库操作
  40. 1、使用数据库:use 数据库名; ------------此时不会创建数据库,只有在数据库里面保存数据之后才创建
  41. 2、查看所有数据库:show databases ; ------只有local数据库
  42. 3、创建集合:db.sreateCollection(“集合名”); -----数据库才真正存在
  43. 4、查看集合:show collections;
  44. 5、删除集合:db.集合名称.drop();
  45. 6、删除数据库:db.dropDatabae();----------删除当前所在的数据库,所以在删除之前,要切换到给数据库
  46. 四、关于ID的问题
  47. 在MongoDB集合中的每一行记录会自动生成一个“_id”:例如:"_id" : ObjectId("582fc4830f537b6768a8fa0e"
  48. ObjectId的组成:时间戳+机器码+PID+计数器
  49. 时间戳:前4 个字节是从标准纪元开始的时间戳,单位为秒。这会带来一些有用的属性。时间戳,与随后的.
  1. 5个字节组合起来,提供了秒级别的唯一性。
  2. 由于时间戳在前,这意味着ObjectId 大致会按照插入的顺序排列。这对于某些方面很有用,如将其作为索引提高效率,
  1. 但是这个是没有保证的,仅仅是“大致”。
  2. 4 个字节也隐含了文档创建的时间。绝大多数驱动都会公开一个方法从ObjectId 获取这个信息。
  3. 因为使用的是当前时间,很多用户担心要对服务器进行时间同步。其实没有这个必要,因为时间戳的实际值并不重要,
  1. 只要其总是不停增加就好了(每秒一次)。
  2. 机器码:接下来的3 字节是所在主机的唯一标识符。通常是机器主机名的散列值。这样就可以确保不同主机生成不同的ObjectId,不产生冲突。
  3. PID:为了确保在同一台机器上并发的多个进程产生的ObjectId 是唯一的,接下来的两字节来自产生ObjectId 的进程标识符(PID)。
  4. 计数器:前9 字节保证了同一秒钟不同机器不同进程产生的ObjectId 是唯一的。后3 字节就是一个自动增加的计数器,
确保相同进程同一秒产生的ObjectId 也是不一样的。
  1. 同一秒钟最多允许每个进程拥有256316 777 216)个不同的ObjectId。
  2. 五、数据操作;
  3. 一些主要的函数(以dept为例):
  4. db.dept.remove(); 全部删除,括号内有条件则删除满足条件的数据。
  5. db.dept.find(); 查找全部数据(数量不多的情况下全部显示出来)
  6. db.dept.findOne(); 查找一条数据
  7. db.dept.update(数据);更新数据
  8. db.dept.insert(数据);插入数据

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

闽ICP备14008679号