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. jchdl进展 - 20180918

    这几天看了下SystemC,发现与jchdl相似的地方,或者jchdl与之相似的地方. 但总体而言: 1. jchdl的模型更简单,更清晰: 2. jchdl还有一些建模需要的工具需要补充,比如: i ...

  2. 从0开始探究vue-双向绑定原理

    理解 vue是一个非常优秀的框架,其优秀的双向绑定原理,mvvm模型,组件,路由解析器等,非常的灵活方便,也使开发者能够着重于数据处理,让开发者更清晰的设计自己的业务. 双向绑定,就是数据变化的时候, ...

  3. 一篇文章带你吃透 Docker 原理

    容器的实现原理 从本质上,容器其实就是一种沙盒技术.就好像把应用隔离在一个盒子内,使其运行.因为有了盒子边界的存在,应用于应用之间不会相互干扰.并且像集装箱一样,拿来就走,随处运行.其实这就是 Paa ...

  4. MAVEN添加本地仓库和注意事项!

    将jer包加载本地仓库导命令 注意:电脑配置了maven的环境变量, 安装指定文件到本地仓库命令:mvn install:install-file -Dfile=       : 指定jar文件路径与 ...

  5. 使用turtle库画太极图

    from turtle import * pensize(3) penup() pencolor("black") reset() speed(10) pendown() circ ...

  6. Java 第十一届 蓝桥杯 省模拟赛 元音字母辅音字母的数量

    给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母. 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母. 输入格式 输入一行,包含一个单词,单词中只包含小写英文字母. 输 ...

  7. Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)

    试题 算法训练 猴子吃包子 问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同:肉包每秒钟吃x个:韭菜包每秒钟吃y个:没有馅的包子每秒钟吃z个:现在有x1个肉 ...

  8. Java实现拓扑排序

    1 问题描述 给定一个有向图,求取此图的拓扑排序序列. 那么,何为拓扑排序? 定义:将有向图中的顶点以线性方式进行排序.即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,顶点u总是在顶点 ...

  9. java实现算年龄

    英国数学家德摩根出生于19世纪初叶(即18xx年). 他年少时便很有才华.一次有人问他的年龄,他回答说: "到了x的平方那年,我刚好是x岁". 请你计算一下,德摩根到底出生在哪一年 ...

  10. 学习Redis好一阵了,我对它有了一些新的看法

    前言 本篇文章不是一篇具体的教程,我打算记录一下自己对Redis的一些思考.说来惭愧,我刚接触Redis的时候只是简单地使用了一下,背了一些面试题,就在简历上写下了Redis这个技能点. 我们能在网络 ...