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. 案例:使用scan IP无法连接数据库

    环境:Oracle RAC(11.2.0.3) 现象:通过scanIP连接数据库报错ORA-12514: ORA-12514: TNS:listener does not currently know ...

  2. webpack 3 & React 的配置 。

    今天真是难过的一天

  3. GUN C中的attribute

    GNU C 的一大特色就是__attribute__ 机制.__attribute__ 可以设置函数属性(Function Attribute ).变量属性(Variable Attribute )和 ...

  4. Perl的子程序(二)

    在Perl中可以自己创建子程序(Subroutine): 关键字sub,子程序名以及用花括号封闭起来的代码块. sub  marine { ... } 子程序名与标量的命名空间是不同的两个部分. 子程 ...

  5. \r与\n

    \n是换行,英文是New line \r是回车,英文是Carriage return

  6. Intro to Python for Data Science Learning 4 - Methods

    Methods From:https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-3-function ...

  7. ActiveMQ 安装以及集群搭建

    安装环境: jdk1.7 apache-activemq-5.11.1-bin.tar.gz VM虚拟机redhat6.5-x64:192.168.1.200 Xshell4 部署方案: 主机IP 集 ...

  8. 数据仓库基础(十)Informatica 组件1

    本文转载自:http://www.cnblogs.com/evencao/p/informatica.html Informatica主要的组件: Source Qualifier 从数据源读取数据 ...

  9. vim 常用命令小结

    1.打开多个窗口 split   上下打开窗口 vsplit     左右开打窗口 ctrl + ww  窗口之间切换 ctrl + wq  退出当前窗口 2.移动光标:     数字 0 : 将光标 ...

  10. mysql 替换函数replace()实现mysql 替换字符串

    mysql 替换字符串的实现方法:mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便,mysql 替换函数replace()Upd ...