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. 跨域解决方案 - node 转发

    目录 1. 定义 2. 代理转发 3. node 转发解决跨域问题 4. 代码演示 5. 参考地址 1. 定义 当用户需要请求数据时, 用户向前端服务器发送请求, 然后前端服务器接收请求之后向后端服务 ...

  2. Java实现 LeetCode 693 交替位二进制数(位运算)

    693. 交替位二进制数 给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等. 示例 1: 输入: 5 输出: True 解释: 5的二进制数是: 101 示 ...

  3. Java实现 LeetCode 136 只出现一次的数字

    136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现 ...

  4. Java实现LeetCode_0027_RemoveElement

    package javaLeetCode.primary; import java.util.Scanner; public class RemoveElement_27 { public stati ...

  5. Java实现 洛谷 P1280 尼克的任务

    import java.util.Scanner; public class Main { public static class edg{ private int to; private int n ...

  6. Java实现二进制幂

    1 问题描述 使用n的二进制表示,计算a的n次方. 2 解决方案 2.1 从左至右二进制幂 此方法计算a的n次方具体思想,引用<算法设计与分析基础>第三版一段文字介绍: package c ...

  7. REDIS主从频繁切换事件排查

    目录 前言 现象 排查 结论 redis主从配置注意点 前言 目前生产配置了2台redis一主一从1.193和12.6,和3个哨兵.1.193,3.10,12.6,搭建的redis高可用环境.突然发生 ...

  8. (七)DVWA之SQL Injection--SQLMap测试(Low)

    目录结构 一.测试需求分析 二.SQLMap利用SQL注入漏洞,获取数据库信息 1.判断是否存在注入点 2.获取DBMS中所有的数据库名称 3.获取Web应用当前连接的数据库 4.列出数据库中的所有用 ...

  9. mysql基础之-mysql数据控制语言DCL(七)

    0x01 mysql中的权限分布 mysql中的用户信息都存储在系统数据库mysql的user表中 查询语句:select host,user,password from mysql.user; 创建 ...

  10. 温故知新-多线程-深入刨析volatile关键词

    文章目录 摘要 volatile的作用 volatile如何解决线程可见? CPU Cache CPU Cache & 主内存 缓存一致性协议 volatile如何解决指令重排序? volat ...