2.MongoDB的基本的CRUD操作

2.1.创建文档

在具体操作之前,想要知道有多少数据库,可以执行下面命令

show dbs

在mongodb中,数据库中包含的叫做集合(表),集合中存储的内容叫做文档(记录)

在具体创建文档之前,也需要选定数据库 语法: use 数据库名, 例如

use nodeing_cms

插入文档

db.user.insert({"name": "admin", "age": 20})

只要执行这条命令,会自动创建user集合,然后在user集合中增加一个文档

查看有多少集合

show collections

2.2.读取文档

1.查询所有记录

db.user.find()

这条命令的执行效果类似于sql语句: select * from user

2.带条件查询

等于

db.user.find({"age": 20})

这条命令表示查询user中age为20的数据

大于

db.user.find({"age": {$gt: 20}})

小于

db.user.find({"age": {$lt: 20}})

大于等于

db.user.find({"age": {$gte: 20}})

小于等于

db.user.find({"age": {$lte: 20}})

查询某个区间数据

db.user.find({"age": {$lte: 21, $gte: 20}})

3.模糊查询

db.user.find({"name":/admin/})

4.对查询结果进行排序

// 1 升序  -1 降序
db.user.find().sort({"age":1})

5.查询前面3条数据

db.user.find().sort({"age":1}).limit(3)

6.跳过3条数据

db.user.find().sort({"age":1}).skip(3)

7.or查询

db.user.find({$or: [{"age": 20}, {"age": 21}]})

上面命令表示查询年龄20或者年龄21的数据

8.查询第一条数据

db.user.findOne()

9.统计查询出来的结果条数

db.user.find().count()

2.2.读取文档

1.查询所有记录

db.user.find()

这条命令的执行效果类似于sql语句: select * from user

2.带条件查询

等于

db.user.find({"age": 20})

这条命令表示查询user中age为20的数据

大于

db.user.find({"age": {$gt: 20}})

小于

db.user.find({"age": {$lt: 20}})

大于等于

db.user.find({"age": {$gte: 20}})

小于等于

db.user.find({"age": {$lte: 20}})

查询某个区间数据

db.user.find({"age": {$lte: 21, $gte: 20}})

3.模糊查询

db.user.find({"name":/admin/})

4.对查询结果进行排序

// 1 升序  -1 降序
db.user.find().sort({"age":1})

5.查询前面3条数据

db.user.find().sort({"age":1}).limit(3)

6.跳过3条数据

db.user.find().sort({"age":1}).skip(3)

7.or查询

db.user.find({$or: [{"age": 20}, {"age": 21}]})

上面命令表示查询年龄20或者年龄21的数据

8.查询第一条数据

db.user.findOne()

9.统计查询出来的结果条数

db.user.find().count()

2.3.更新文档

1.将name为admin的年龄修改为209

db.user.update({"name": "admin"}, {$set: {"age": 209}})

2.替换

 db.user.update({"name": "admin"}, {"age": 209})

注意,这条语句和上一条语句的唯一区别就是把$set给去掉了,这样就表示把name为admin这条记录给替换成{"age": 209}

2.4.删除文档

1.删除文档

 db.user.remove({"name": "admin4"})

上面代码表示删除name为admin4的文档

2.删除集合

db.admin.drop()

上面代码表示删除admin集合

螺钉课堂视频课程地址:http://edu.nodeing.com

MongoDB快速入门教程 (2)的更多相关文章

  1. MongoDb 快速入门教程

    文章首发于[博客园-陈树义],点击跳转到原文MongoDb 快速入门教程. MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的 ...

  2. MongoDB快速入门教程 (3.2)

    3.2.索引 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,建立索引,通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条 ...

  3. MongoDB快速入门教程 (4.4)

    4.5.Mongoose索引和方法 4.5.1.设置索引 let UserSchema = mongoose.Schema({ sn: { type: Number, // 设置唯一索引 unique ...

  4. MongoDB快速入门教程 (4.3)

    4.3.Mongoose模块化 4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项目的结构更加清晰,举个例子:当数据库中的集合变多的时候,例如有课程.订单.分类.教师等多 ...

  5. MongoDB快速入门教程 (4.2)

    4.2.Mongoose实现增删查改 中文文档地址: https://cn.mongoosedoc.top/docs/guide.html 4.2.1.Mongoose是什么? Mongoose是Mo ...

  6. MongoDB快速入门教程 (4.1)

    4.Mongoose使用 4.1.nodejs操作mongodb 文档地址:http://mongodb.github.io/node-mongodb-native/3.2/tutorials/cru ...

  7. MongoDB快速入门教程 (3.3)

    3.4.聚合 3.4.1.什么是聚合? MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*) 例如上图 ...

  8. MongoDB快速入门教程(3.1)

    3.MongoDB进阶 3.1.权限验证 以下内容适用于Mac系统用户,window系统用户请看后面文档 3.1.1.创建超级管理员用户 默认情况下连接mongodb是不需要用户名和密码的,这样不安全 ...

  9. MongoDB快速入门教程 (1)

    1.MongoDB初识 1.1.MongoDB是什么? MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于 ...

随机推荐

  1. Rocket - tilelink - BankBinder

    https://mp.weixin.qq.com/s/oZCYBdy5glxJQmYKVWvpvA   简单介绍BankBinder的实现.   ​​   1. 基本介绍   A BankBinder ...

  2. 手写 new

    /* 基于内置的 new 关键词,我们可以创建 Dog 的一个实例 zhangsan ,实例可以调用原型上的属性和方法 需求:自己实现一个 _new 方法,也可以模拟出内置 new 后的结果 */ / ...

  3. JavaSE(一) 语言概述

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 目录 1 基础常识 2 Java语言版本迭代概述 3 Java语言应用的领域 4 Java语言的特点 5 ...

  4. Java实现 LeetCode 565 数组嵌套(没有重复值的数组)

    565. 数组嵌套 索引从0开始长度为N的数组A,包含0到N - 1的所有整数.找到并返回最大的集合S,S[i] = {A[i], A[A[i]], A[A[A[i]]], - }且遵守以下的规则. ...

  5. Java实现 LeetCode 400 第N个数字

    400. 第N个数字 在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231 ...

  6. Java实现 LeetCode 124 二叉树中的最大路径和

    124. 二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: ...

  7. Linux 权限管理-ACL权限

    ACL权限是为了在现有的所有者.所属组.其他人不够使用的情况下使用的,使用它必须保证文件所在的分区支持ACL df -h:查看系统所有分区信息 dumpe2fs -h /dev/vda1,可以查看分区 ...

  8. node实现图片分割

    前言 最近,女王大大日常找我弄图片,本来之前我一直是ps帮他弄得,后来- -,ps不能分割过长的图片,我就想想能不能通过代码来帮他实现好了. 经过我在npm搜索一番,发现没有一个纯代码层面的high ...

  9. k8s-ephemeral和init容器

    截止到目前k8s1.18版本,k8s已经支持四种类型的container:标准容器,sidecar容器,init容器,ephemeral容器. 一:ephemeral容器 1.1.什么是ephemer ...

  10. c常用函数-atoi 和 itoa

    atoi 和 itoa atoi的功能是把一个字符串转为整数 Action(){ int j; char *s=""; j = atoi(s); lr_output_message ...