mongoDB语法学习

  • 前言
  • 一、mongoDB安装
  • 二、使用mongoDB
  • 1.运行mongoDB命令模式
  • 2.查看数据库
  • 3.创建数据库
  • 4.删除数据库
  • 5.创建集合(即关系型数据库表)
  • 6.删除集合
  • 7.查看集合中所有文档
  • 8.插入文档
  • 9.修改文档
  • 10.删除文档
  • 11.查询文档
  • AND语法
  • OR语法
  • LIKE语法
  • BETWEEN语法
  • AND和OR混合使用语法
  • 指定查询字段
  • LIMIT语法
  • SKIP语法
  • 排序语法
  • 总结


前言

本周学习mongoDB的基础查询语法。


一、mongoDB安装

在这里主要是学习基本语法,所以安装mongoDB就使用宝塔直接安装了。

首先在软件商城查询mongoDB,点击进行自动安装。

aggregate语法 mongodb mongodb sql语法_字段


安装好之后,前往首页,点击mongoDB,设置IP为0.0.0.0,这样管理工具才能连接上。

aggregate语法 mongodb mongodb sql语法_字段_02


然后去端口处,放行mongoDB端口即可。

aggregate语法 mongodb mongodb sql语法_aggregate语法 mongodb_03

二、使用mongoDB

1.运行mongoDB命令模式

在宝塔左侧,点击终端,使用cd /www/server/mongodb/bin命令进入mongoDB的路径下,再执行mongo进入命令模式。

aggregate语法 mongodb mongodb sql语法_aggregate语法 mongodb_04

2.查看数据库

语法: show dbs

aggregate语法 mongodb mongodb sql语法_字段_05


上面三个表示安装mongoDB之后,自动生成的。

3.创建数据库

语法: use 数据库名称 ,use时如果没有便会自动创建。

如果你发现创建的数据库,show dbs不出来,其实是因为没有数据,插入一条数据,再show dbs就会出现了。

aggregate语法 mongodb mongodb sql语法_database_06

4.删除数据库

语法: db.databaseName.drop()

aggregate语法 mongodb mongodb sql语法_aggregate语法 mongodb_07

5.创建集合(即关系型数据库表)

创建集合之前,要指定数据库,语法: use databaseName。
语法: db.createCollection(name, options)

参数说明:

name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项

options 可以是如下参数:

字段 类型 描述
capped 布尔 (可选),如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId 布尔 ,3.2 之后不再支持该参数。(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size 数值 ,(可选)为固定集合指定一个最大值,即字节数。如果 capped 为 true,也需要指定该字段。
max 数值 ,(可选)指定固定集合中包含文档的最大数量。在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。

aggregate语法 mongodb mongodb sql语法_数据库_08

6.删除集合

语法: db.createCollection(name, options)

aggregate语法 mongodb mongodb sql语法_mongodb_09

7.查看集合中所有文档

语法: db.collectionName.find()

aggregate语法 mongodb mongodb sql语法_mongodb_10

8.插入文档

语法: db.collectionName.insert(document)

aggregate语法 mongodb mongodb sql语法_数据库_11


批量插入:db.collectionName.insertMany([])

aggregate语法 mongodb mongodb sql语法_mongodb_12


特别要注意,批量插入里面是对象数组。

9.修改文档

语法: db.collectionName.update( query, update, upsert, multi, writeConcern)
参数说明:

query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如aggregate语法 mongodb mongodb sql语法_数据库_13inc…)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。

sql:update tb1 set name = ‘抗蓝光2’ where name = ‘抗蓝光’;

mongoDB:db.tb1.update({‘name’:‘抗蓝光’},{$set:{‘name’:‘抗蓝光2’}})

aggregate语法 mongodb mongodb sql语法_字段_14

sql:update tb1 set price = 720 where price>300;

aggregate语法 mongodb mongodb sql语法_数据库_15

10.删除文档

删除单条:db.collectionName.deleteOne(query)

批量删除:db.collectionName.deleteMany(query)

aggregate语法 mongodb mongodb sql语法_aggregate语法 mongodb_16

11.查询文档

语法: db.collectionName.find(query, projection)

参数说明:

query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值,只需省略该参数即可(默认省略)。

AND语法

aggregate语法 mongodb mongodb sql语法_database_17

OR语法

aggregate语法 mongodb mongodb sql语法_字段_18

LIKE语法

aggregate语法 mongodb mongodb sql语法_数据库_19


aggregate语法 mongodb mongodb sql语法_字段_20


aggregate语法 mongodb mongodb sql语法_aggregate语法 mongodb_21

BETWEEN语法

aggregate语法 mongodb mongodb sql语法_字段_22

AND和OR混合使用语法

aggregate语法 mongodb mongodb sql语法_数据库_23

指定查询字段

aggregate语法 mongodb mongodb sql语法_mongodb_24

LIMIT语法

aggregate语法 mongodb mongodb sql语法_mongodb_25

SKIP语法

跳过指定条数查询

aggregate语法 mongodb mongodb sql语法_数据库_26

排序语法

语法:db.collectionName.find().sort({KEY:1})

aggregate语法 mongodb mongodb sql语法_数据库_27

总结

本次学习了基本的语法,但是在可视化管理工具中操作,语法又不一样了,下回再学习工具的使用。

引用:https://www.runoob.com/mongodb/mongodb-tutorial.html