MongoDB适合储存大量关联性不强的数据。
MongoDB中的数据以“库”—“集合”—“文档”—“字段”结构进行储
存。这种结构咋看和传统关系型数据库的“库”—“表”—“行”—“列”结构非常像。但是,MongoDB不需要预先定义表结构,数据的字段可以任意变动,并发写入速度也远远超过传统关系型数据库。

1.安装

官网下载4.0
bin目录下:

cfg为配置文件

在c盘下新建data文件夹,其中再新建db:
输入mongod.exe


图形化界面的软件:robo 3T
Robo 3T的下载地址为:https://robomongo.org/download



create database创建数据库

插入单条数据的命令为“insertOne()”。
db.getCollection(‘learning’).insertOne({“name”: “张小二”, “age”: 17, “address”: “浙江”})

MongoDB还允许Key不带引号,直接写成{name: ’王小六’,
age: 25, work: ’厨师’}。但这种写法存在一些局限性,并且会导
致MongoDB的命令不方便平滑移植到Python中。因此,建议使用带单引号的写法或者带双引号的写法
在MongoDB里,插入数据的字段是可以任意修改、添加、删除的
如再插入:
db.getCollection(‘learning’).insertOne({“today”: “6.8”,“tomo”:“9”})

db.getCollection(‘learning’).insertOne({“today”: “六月八日”,“tomo”:“9”,“week”:“tuesday”})


提示:
“能不能做”是一回事,“应不应该做”是另一回事。虽然
MongoDB能够处理同一个字段的不同数据类型,也可以随意增减字段,但并不意味着应该这样做。在设计数据库时,应尽量保证同一个字段使用同一种类型的数据,并提前考虑好应该有哪些字段

增删改查

批量插入:

db.getCollection(‘learning’).insertMany([{“name”: “小明”,“age”:“9”},
{“name”: “小红”,“age”:“19”},
{“name”: “小王”,“age”:“22”}])

切换显示模式:


注:
无论是插入一条数据还是插入多条数据,每一条数据被插入
MongoDB 后都会被自动添加一个字段“_id”。“_id”读作“Object Id”,它是由时间、机器码、进程pid和自增计数器构成的。
“_id”始终递增,但绝不重复。
● 同一时间,不同机器上面的“_id”不同。
● 同一机器,不同时间的“_id”也不同。
● 同一机器同一时间批量插入的数据,“_id”依然不同。

查询数据

db.getCollection(‘learning’).find()

db.getCollection(‘learning’).find({})
查询特定数据:

db.getCollection(‘learning’).find({‘name’:‘小红’})

“find”的参数相当于一个字典。字典的 Key 就是字段名,字典的值就是要查询的值。如果字典有多个Key,则这些字段需同时满足。

1)查询所有“age”字段不小于25的记录,
则需要使用大于等于操作符“$gte”。查询语句如下:
db.getCollection(‘example_data_1’).find({‘age’: {’$gte’: 25}})

范围操作符及其意义
其中,用于限定字段的字典的Key为各个字段名。其值只有两个——0或1。
● 如果值为0,则表示在全部字段中剔除值为0的这些字段并返回。
● 如果值为1,则表示只返回值为1的这些字段。
例如,查询数据集example_data_1,但不返回“address”和“age”字段。查询语句如下:
db.getCollection(‘example_data_1’).find({}, {‘address’: 0, ‘age’: 0})
2)返回查询的条数(一共多少条符合要求的)
count():
db.getCollection(‘learning’).find({‘age’: {’$gt’: 21}}).count()

3)limit(4)限制只返回4条数据。
具体命令如下:
db.getCollection(‘example_data_1’).find().limit(4)

4)对查询结果进行排序——“sort()”命令。
字段的值为-1表示倒序,为1表示正序。
sort({‘字段名’:-1或1})
对所有“age”大于21的数据,按“age”进行倒序排列。查询语
句如下:
.find({‘age’: {’$gt’:21}}).sort({‘age’: -1})

修改 去重数据

修改操作也就是更新(Update)操作,对应的 MongoDB 命令
为“updateOne()”和“updateMany()”。
去重操作用到的命令为“distinct()”。格式如下:
db.getCollection(‘example_data_1’).distinct(’字段名’, 查询语句的第一个字典)

对“age”大于等于24的记录的“age”字段去重
.distinct(‘age’,{‘age’:{’$gte’:24}})

mongodb介绍

MongoDB 可以用来保存大量数据,且字段和格式均可以随意改变
SQL与MongoDB术语对比:

MongoDB[1] 是一个基于分布式文件存储的数据库。由C 语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

【学习笔记】mongoDB初步(一)MongoDB的安装和增删改查基本语法,使用和命令相关推荐

  1. Mybatis学习笔记(二) 之实现数据库的增删改查

    开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...

  2. Django学习笔记(10)——Book单表的增删改查页面

    一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...

  3. mybatis学习笔记(2)两种配置实现增删改查

    第二天学习mybatis,发现框架的存在确实是省了我们很多时间,我们完全可以把一些操作简化,或者实现简单的封装提供我们使用.昨天是跟着教程云里雾里的实现了配置,今天再次使用就方便很多. String ...

  4. MYSQL学习笔记 (二)对数据库结构的增删改查

    显示数据库 show databases; 选择数据库 use database;//其实database为数据库的名字 创建表 create table tbclass( id int not nu ...

  5. Oracle数据库学习笔记(七)--事务及数据的增删改查

    事务的概念 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事务最经典也经常被拿出来说的例子就是转账了.假如小明要给小红转账 1000 元,这个转账会涉及到两个关键操作就是:将小明的余额减少 10 ...

  6. Oracle: 一、Oracle简介,安装,基本使用,建表增删改查,数据类型及常用命令...

    内容简介 一.Oracle简介,安装,基本使用,建表增删改查,数据类型及常用命令. 技术与环境 操作系统: windows 语言类别: SQL之PL/SQL 特别鸣谢: 由马云涛老师提供资料 数据库: ...

  7. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  8. JavaScript学习(四十八)—原型对象的增删改查

    JavaScript学习(四十八)-原型对象的增删改查 一.构造方法与原型对象的图解 二.型对象的增删改查 (一).什么是原型 每个函数都会有一个属性--prototype属性,这个属性都会有一个对象 ...

  9. MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)

    MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...

最新文章

  1. R语言卡方分布函数Binomial Distribution(dchisq, pchisq, qchisq rchisq)实战
  2. 048_Calendar日历
  3. python实验二序列_python 学习笔记 二 序列, 列表, 元组, 字符串
  4. python3操作MySQL:insert插入数据
  5. vue项目中使用swiper
  6. Where与Having的区别
  7. Java Web应用小案例:查询城市天气信息
  8. 数学知识点回顾(三)
  9. casio计算器计算统计数据
  10. python pytorch tenser 索引 slice 切片
  11. windows10系统精简:NTlite工具
  12. Teemo Attacking
  13. win10打开计算机管理闪退,win10系统下任务管理器闪退的解决方法
  14. 语音特征信号分类---BP神经网络---MATLAB实现
  15. html5文字跳动特效,jQuery网页文字跳动动画特效
  16. win10升级后CFT加载程序占用CPU高解决办法
  17. vue 项目 想修改代码严格模式 lintOnSave
  18. base64图片转file的处理
  19. ssm毕设项目大学生就业管理系统5t101(java+VUE+Mybatis+Maven+Mysql+sprnig)
  20. CCF C³活动第二期主题“智能家居”,与CTO聚首小米科技园!

热门文章

  1. linux下运行hadoop,Linux环境下hadoop运行平台的搭建
  2. java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数
  3. matlab完全自学一本通 pdf,matlab r2014a自学一本通 MATLAB R2014a完全自学一本通 中文pdf扫描版[125MB] 下载-脚本之家...
  4. mysql远程访问显示警告信息_mysql远程访问的时候遇到了各种问题
  5. 【小白学习keras教程】二、基于CIFAR-10数据集训练简单的MLP分类模型
  6. 【推荐系统】基于物品的协同过滤算法
  7. 九、Spark模块和安装
  8. kali - Nmap
  9. 三十一、Vue框架赶紧来了解一下
  10. win7计算机怎么找管理员,Win7系统Administrator不见了怎么解决?