3.3 MongoDB的基本操作

在MongoDB数据库里面存在数据库的概念,但没有模式(所有的信息都是按照文档保存的),保存数据的结构是BSON结构,只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作。

1.使用mldn数据库:use mldn

实际上这时候并不会创建数据库,只有在数据库里保存集合数据之后才能真正创建数据库。

2.创建一个emp集合:db.createCollection("emp")

这个时候mldn数据库才会真正存在。

3. 很多时候按照以上代码形式进行是不正常的,正常情况下使用MongoDB数据库集合操作,都是直接向里面保存一个数据。因为MongoDB是无模式的。

4.查看所有集合:show collections

(注意:3,4是重新打开的MongoDB,前面的emp集合没保存所以没在其中)

5.查看dept表的数据

语法:db.集合名称.find({若干条件})

从传统的数据表来看(集合相当于表的结构),表的结构一旦定义必须按照其定义的要求进行编写,MongoDB不一样,它可以自己随意扩充数据。

6.增加不规则数据

其中的第三条数据与前两条结构不同,所以dept集合的内容可以由用户随便定义。所以在MongoDB中不存在查看集合结构的操作。

7.关于ID的问题

在MongoDB集合中的每一行记录都会自动的生成一个" "_id" : ObjectId("5a2115dca5eb4ea8c10f5eb8")"数据,这个数据组成是:时间戳+机器码+PID+计数器,这个值绝对不会重复。

ObjectId(0~11):

  1. 对象id类型是一个12字节的唯一id。每个字节2位16进制数,因此整个id类型是一个24位的字符串
  2. 前面四个字节代表从标准纪元开始的时间戳,以秒为单位
  3. 接下来3个字节代表机器码,一般是机器的hash值。这可以保证不同的及其产生的id不会冲突
  4. 接下来两个字节表示进程id号,保证统一机器不同建成产生的id不冲突
  5. 最后三个是计数器的技术支持,对于任意一秒钟,可以产生2^24个数

这个ID的信息是MongoDB数据自己为用户生成的。

8.查看单独的一个文档信息

db.dept.findOne()表示只查看一个文档信息。

9.删除数据——db.dept.remove(ID)

根据ID删除数据,本来是三条数据,删除 "_id" : ObjectId("5a2115dca5eb4ea8c10f5eb8")的数据,变为两条。

10.更新数据——db.dept.update(ID, 更新的数据)

11.删除集合

语法:db.集合名称.drop()

12..删除数据库(删除数据库是删除当前所在的数据库,必须切换到当前数据库后才可以删除)

语法:db.dropDatabase()

在编写代码中当前数据库是test数据库,所以可以删除。

删除test数据库后,没有了当前数据库,所以执行dp.dropDatabase()后,并不删除数据库。

13.查看数据库:show databases 或 show dbs

MongoDB(课时3 MongoDB基本操作)的更多相关文章

  1. MongoDB 安装和即基本操作

    http://www.mongodb.org/ Agile and Scalable MongoDB (from "humongous") is an open-source do ...

  2. MongoDB 的安装和基本操作

    MongoDB 的安装 使用 docker 安装 下载镜像: docker pull mongo:4.4.8(推荐,下载指定版本) docker pull mongo:latest (默认下载最新版本 ...

  3. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  4. mongoDB操作命令及mongoDB的helper

    此项目已开源,开源地址是: http://mongodbhelper-csharp.googlecode.com/svn/trunk/ mongodb的helper using System; usi ...

  5. mongoDB & Nodejs 访问mongoDB (一)

    最近的毕设需要用到mongoDB数据库,又把它拿出来再学一学,下盘并不是很稳,所以做一些笔记,不然又忘啦. 安装 mongoDB & mongoVUE mongoDB: https://www ...

  6. mongodb系列之--mongodb 主从配置与说明

    一.为什么要配置mongodb的主从: 1.做主从,可以说是做数据的备份,有利于故障的恢复 2.做主从,可以做到读写分离,主节点负责写操作,从节点负责读操作,这样就把读写压力分开,保证系统的稳定性. ...

  7. java操作mongodb & springboot整合mongodb

    简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...

  8. 学习MongoDB 一:MongoDB 入门(安装与配置)

    一.简介 MongoDB一种非关系型数据库(NoSql),是一种强大.灵活.可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量.高并发.弱事务 ...

  9. MongoDB · 引擎特性 · MongoDB索引原理

    MongoDB · 引擎特性 · MongoDB索引原理数据库内核月报原文链接 http://mysql.taobao.org/monthly/2018/09/06/ 为什么需要索引?当你抱怨Mong ...

  10. MongoDB小结01 - MongoDB简介

    我们为什么要去学习MongoDB MongoDB是一种强大.灵活.可扩展的数据存储方式. 丰富的数据模型 MongoDB是面向文档的数据库,不是关系型数据库.它将原来'行'(row)的概念换成了更加灵 ...

随机推荐

  1. pd.read_csv操作读取分隔符csv和text文件

    pandas.read_csv可以读取CSV(逗号分割)文件.文本类型的文件text.log类型到DataFrame 1. pandas.read_csv常用参数整理 也支持文件的部分导入和选择迭代 ...

  2. boost--smart_ptr库

    C++没有类似Java.C#等语言的垃圾回收机制,内存管理是最为头痛的工作. new.delete以及指针的不恰当运用是C++中造成资源获取/释放问题的根源. 智能指针是解决这些问题的一种方案,boo ...

  3. 软件包管理:rpm包管理-yum在线管理-IP地址配置和网络yum源

    只需告诉系统你想安装那个包,剩下的所有依赖问题yum都会解决. 有些情况下不能上网,但可以使用光盘. centos的yum是免费的.redhatyum付费. yum管理的其实同样是rpm包.并没有yu ...

  4. MatLab 2014a编译jar包时mcc无法使用的问题

    http://blog.csdn.net/heroafei/article/details/43273373 MatLab 2014a编译jar包时mcc无法使用的问题 2015-01-29 16:5 ...

  5. 从游戏开发到web前端——仅仅只是开始

    文章开头,请允许我随便扯扯. 一来,开头从来都是最难写的,二来,描述我现在的心情和状态以及工作背景啥的,对于大家理解后面的内容也许会有所帮助~ 2012年211大学毕业,工作4年了,一直都是做游戏前端 ...

  6. discuz formhash

    class.core.php中 $this->var['formhash'] = formhash();define('FORMHASH', $this->var['formhash']) ...

  7. Visual Studio 2013旗舰版KEY

    Visual Studio 2013旗舰版KEY:BWG7X-J98B3-W34RT-33B3R-JVYW9

  8. 关于VS2010的帮助文档更改路径

    不小心把MSDN装在系统盘怎么办? 由于自己的C盘空间比较有限,所以经常需要把软件安装在其他磁盘,比如E盘,但是这次重装却不小心就装在C盘了,特遗憾,偶然在网上找到可以更改路径的方法,自己试试,成功了 ...

  9. Let it Go

    <冰雪奇缘> 主题歌曲         The snow glows white on the mountain tonight Not a footprint to be seen. A ...

  10. MyEclipse2014+JDK1.7+Tomcat8.0+Maven3.2 开发环境搭建

    1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...