我们知道,在关系型数据库里面有数据库、数据表、表里面是一行一行的数据。而mongodb是非关系型数据库,它有的是数据库、集合、文档,分别对应关系型里面的数据库、数据表、和表里面一行一行的数据。在mongodb里,文档构成集合,集合构成数据库

关系组成:

1.文档

这个文档,可不是平常说的word文档,在mongodb里面,文档指的是集合里面的一行数据。来看一下它的样子。

可以看到,一个文档有三部分组成,id(用来表示一行文档),键名(一个文档中不可出现重复的键名,且区分大小写)和键值,一行文档中,可以含有多个键值对,可以存放不同的数据类型。

2.集合

集合就相当于是关系型数据库里面的表,集合由文档构成,可以使用show collections或show tables命令查看一个数据库里面含有几个集合,像这样(后面还有介绍,这里先看一下)

3.数据库

数据库就和mysql里面的是一样的,只不过在mongodb里面,数据库是由集合构成的,可以使用show dbs 查看已经创建的数据库,像这样

 

常用命令:

1.数据库命令:

创建/切换数据库:use “数据库名”

使用use命令,如果后面跟没有的数据库名,则创建一个新的数据库,如果后面跟已有的数据库名,则切换到另一个需要操作的数据库。可以把use想象成一个指针,如果数据库已存在,就指向这个数据库,如果不存在,就创建它。

创建一个 new_data数据库,使用db命令查看当前数据库指针所指向的数据库,

但这时候,使用show dbs命令查看并不显示这个新创建的数据库,而是会在第一次向数据库中插入一个文件的时候才去创建对应的数据库。在这一点上,集合也有类似的特性。在这个数据库里创建一个集合,命令如下

db.createCollection("集合名")

再使用show dbs查看一下数据库,就有了刚才创建的new_data数据库

 删除数据库:db.dropDatabase()

删除已经存在的那个tryone数据库,如下:

先使用use使数据库指针指向tryone数据库,然后使用db命令查看当前正在操作的数据库,使用删除命令后,再此查看数据库,可以看到,tryone数据库已经被删除了,注意:数据库删除后,指针的指向还未改变,接着要使用use 改变指针指向

2.集合命令

查看集合:show collections/tables

上面,已经提到了集合的创建命令:db.createCollection("集合名"),用它再来创建一个name集合,如下:

看到此时数据库里已经有了name和new两个集合

再来看一下集合的删除命令,db.集合名.drop(),如下:

删除集合成功后,返回true,再次查看集合。

3.文档命令

文档的插入:db.集合名.insert({"键名":键值})

对上面的new集合进行插入文档。如下:

文档的查询:db.集合名.find()

对上面插入的文档进行查询。如下:

文档的更新:db.集合名.update({"name":"zhangsan"},{$set:{"name":"lisi"}})

这里第一个大括号后面是update的查询条件,类似sql update查询内where后面的。

再次查看,键值已经被更改。

文档的删除:db.集合名.remove()

(ps:欢迎大佬随时指正。。。。。)

********************不积跬步无以至千里 ********************

mongodb的数据库,集合,数据可介绍。的更多相关文章

  1. MongoDB入门---数据库&&&集合的基本操作

    MongoDB作为一种nosql的数据库,它自己本身的增伤改查还有数据库集合的创建和展示与一般的数据库较之是有一部分差别的.我们今天就来看一下MongoDB的一些基本操作.    首先呢,就是先来数据 ...

  2. MongoDB:数据库介绍与基础操作

    二.部署在本地服务器 在上次的学习过程中,我们主要进行了MongoDB运行环境的搭建和可视化工具的安装.此次我们将学习MongoDB有关的基本概念和在adminmongo上的基本操作.该文档中的数据库 ...

  3. 如何将MongoDB数据库的数据迁移到MySQL数据库中

    FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...

  4. mongodb远程数据库的连接以及备份导入导出数据

    环境win10; 运行cmd cd到目录mongodb的bin目录: 连接远程mongodb: 连接命令:mongo -u username -p pwd host:post/database(数据库 ...

  5. Window10系统中MongoDB数据库导入数据文件

    首先进入C:\Program Files\MongoDB\Server\4.0\bin>  打开cmd 创建一个空的数据库集合  db.createCollection("myColl ...

  6. Mongodb到mysql数据库的数据迁移(Java,Windows)

    运行环境为windows 测试过260万的数据表,迁移大概要10分钟左右,当然肯定和网络,字段大小什么的有关系. 遇到的坑和注意点都用紫色标记了(对,就是我大乃团的高冷紫--Nogizaka 46) ...

  7. PHP操作MongoDB数据库具体样例介绍(增、删、改、查) (六)

    PHP操作mongodb: PHP 要操作mongodb须要打模块 官网能够下载:http://pecl.php.net/package/mongo 下载 mongodb设置成用户授权的启动方式 ph ...

  8. MongoDB 表(集合) 创建删除、数据增删改查

    MongoDB 表(集合) 创建删除和增删改查数据 创建一个集合(emp) 在创建集合之前先使用use xxx,选择数据库,如果没有会创建(并不是真正的创建,只有在数据库里面保存集合数据之后才能够真正 ...

  9. mongodb基础系列——数据库查询数据返回前台JSP(二)

    上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...

随机推荐

  1. Java学习笔记(8)---Scanner类,浅谈继承

    1.Scanner类: a.定义: java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. Scanner s = new Scanner(S ...

  2. acWing 825. 排队购物

    题目描述苏西小朋友和她的妈妈正在超市里购物,看着收银处排着的长长的队伍,她就想如何能够提高整体的服务质量呢? 已知,现在有n个人正在排队等待结账,每个人结账所花的时间都可能是不同的,第 i 个人的结账 ...

  3. AcWing 44. 分行从上往下打印二叉树

    地址 https://www.acwing.com/problem/content/description/42/ 题目描述从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印到一行. ...

  4. [C5W2] Sequence Models - Natural Language Processing and Word Embeddings

    第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 词汇表征(Word Representation) 上周我们学习了 RN ...

  5. C# List<T> 转 DataTable

    C# List<T>转DataTable 学习自:博客园 Overview 数据!!个人认为程序就是将数据变着花样的显示它.那么这个时候我们的数据处理和获取就时我们的关键一步,如果你数据都 ...

  6. Codeforces Round #598 (Div. 3) C. Platforms Jumping 贪心或dp

    C. Platforms Jumping There is a river of width n. The left bank of the river is cell 0 and the right ...

  7. Windows许可证 即将过期

    最近打开电脑,系统总是自动弹出Windows许可证即将过期的弹窗,现在总结方法如下. 命令都是在运行窗口输入的打开方式:win+R组合键或者右键点击win10开始菜单,点击“运行”查看系统版本:win ...

  8. IT兄弟连 Java语法教程 流程控制语句 循环结构语句3

    while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表 ...

  9. Java队列和定时器Timer

       一: Queue详解    Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构    Queue接口与List.Set同一级别,都是继承了Collection接口.Linked ...

  10. Java Serializable:明明就一个空的接口嘛

    对于 Java 的序列化,我一直停留在最浅显的认知上——把那个要序列化的类实现 Serializbale 接口就可以了.我不愿意做更深入的研究,因为会用就行了嘛. 但随着时间的推移,见到 Serial ...