我们知道,在关系型数据库里面有数据库、数据表、表里面是一行一行的数据。而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. Day5- Python基础5 模块导入、time、datetime、random、os、sys、hashlib、json&pickle

    本节目录: 1.模块的分类 2.模块的导入 3.time模块 4.datetime模块 5.random 6.os模块 7.sys模块 8.hashlib 9.json&pickle 一.模块 ...

  2. Numpy常用函数用法大全

    .ndim :维度.shape :各维度的尺度 (2,5).size :元素的个数 10.dtype :元素的类型 dtype(‘int32’).itemsize :每个元素的大小,以字节为单位 ,每 ...

  3. C++ class外的 >> 重载,输入流,重载示例。不应该定义类内的>>重载

    #include <iostream> // overloading "operator >> " outside class // >> 应该 ...

  4. Java之匿名对象

    匿名对象概念 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量.虽然是创建对象的简化写法,但是应用场景非常有限.匿名对象 :没有变量名的对象. 格式: new 类名(参数列表): // ...

  5. 【ECNU77】位与数对个数(数位DP)

    点此看题面 大致题意: 求\(\sum_{x=0}^{a-1}\sum_{y=0}^{b-1}[(x\&y)<k]\). 数位\(DP\) 显然数位\(DP\)吧. 我们设\(f_{n, ...

  6. vscode源码分析【七】主进程启动消息通信服务

    第一篇: vscode源码分析[一]从源码运行vscode 第二篇:vscode源码分析[二]程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析[三]程序的启动逻辑,性能问题的追踪 ...

  7. 史上最全的用Python操控手机APP攻略!建议收藏!

    ​最近经常看到用Python操作手机APP的项目,例如抖音.闲鱼之类的,看完后发现这些项目无一例外需要部署ADB环境.至于什么是ADB,很多大神都讲过,只是写得比较专业,我等菜鸟看完还是云里雾里. ​ ...

  8. Python的条件锁与事件共享

    1:事件机制共享队列: 利用消息机制在两个队列中,通过传递消息,实现可以控制的生产者消费者问题要求:readthread读时,writethread不能写:writethread写时,readthre ...

  9. 知识图谱如何运用于RecomSys

    将知识图谱作为辅助信息引入到推荐系统中可以有效地解决传统推荐系统存在的稀疏性和冷启动问题,近几年有很多研究人员在做相关的工作.目前,将知识图谱特征学习应用到推荐系统中主要通过三种方式——依次学习.联合 ...

  10. js的promise

    转载自: https://segmentfault.com/a/1190000007032448#articleHeader16 一 前言 本文主要对ES6的Promise进行一些入门级的介绍.要想学 ...