MongoDB快速入门教程 (2)
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)的更多相关文章
- MongoDb 快速入门教程
文章首发于[博客园-陈树义],点击跳转到原文MongoDb 快速入门教程. MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的 ...
- MongoDB快速入门教程 (3.2)
3.2.索引 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,建立索引,通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条 ...
- MongoDB快速入门教程 (4.4)
4.5.Mongoose索引和方法 4.5.1.设置索引 let UserSchema = mongoose.Schema({ sn: { type: Number, // 设置唯一索引 unique ...
- MongoDB快速入门教程 (4.3)
4.3.Mongoose模块化 4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项目的结构更加清晰,举个例子:当数据库中的集合变多的时候,例如有课程.订单.分类.教师等多 ...
- MongoDB快速入门教程 (4.2)
4.2.Mongoose实现增删查改 中文文档地址: https://cn.mongoosedoc.top/docs/guide.html 4.2.1.Mongoose是什么? Mongoose是Mo ...
- MongoDB快速入门教程 (4.1)
4.Mongoose使用 4.1.nodejs操作mongodb 文档地址:http://mongodb.github.io/node-mongodb-native/3.2/tutorials/cru ...
- MongoDB快速入门教程 (3.3)
3.4.聚合 3.4.1.什么是聚合? MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*) 例如上图 ...
- MongoDB快速入门教程(3.1)
3.MongoDB进阶 3.1.权限验证 以下内容适用于Mac系统用户,window系统用户请看后面文档 3.1.1.创建超级管理员用户 默认情况下连接mongodb是不需要用户名和密码的,这样不安全 ...
- MongoDB快速入门教程 (1)
1.MongoDB初识 1.1.MongoDB是什么? MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于 ...
随机推荐
- 跨域解决方案 - node 转发
目录 1. 定义 2. 代理转发 3. node 转发解决跨域问题 4. 代码演示 5. 参考地址 1. 定义 当用户需要请求数据时, 用户向前端服务器发送请求, 然后前端服务器接收请求之后向后端服务 ...
- Java实现 LeetCode 693 交替位二进制数(位运算)
693. 交替位二进制数 给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等. 示例 1: 输入: 5 输出: True 解释: 5的二进制数是: 101 示 ...
- Java实现 LeetCode 136 只出现一次的数字
136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现 ...
- Java实现LeetCode_0027_RemoveElement
package javaLeetCode.primary; import java.util.Scanner; public class RemoveElement_27 { public stati ...
- Java实现 洛谷 P1280 尼克的任务
import java.util.Scanner; public class Main { public static class edg{ private int to; private int n ...
- Java实现二进制幂
1 问题描述 使用n的二进制表示,计算a的n次方. 2 解决方案 2.1 从左至右二进制幂 此方法计算a的n次方具体思想,引用<算法设计与分析基础>第三版一段文字介绍: package c ...
- REDIS主从频繁切换事件排查
目录 前言 现象 排查 结论 redis主从配置注意点 前言 目前生产配置了2台redis一主一从1.193和12.6,和3个哨兵.1.193,3.10,12.6,搭建的redis高可用环境.突然发生 ...
- (七)DVWA之SQL Injection--SQLMap测试(Low)
目录结构 一.测试需求分析 二.SQLMap利用SQL注入漏洞,获取数据库信息 1.判断是否存在注入点 2.获取DBMS中所有的数据库名称 3.获取Web应用当前连接的数据库 4.列出数据库中的所有用 ...
- mysql基础之-mysql数据控制语言DCL(七)
0x01 mysql中的权限分布 mysql中的用户信息都存储在系统数据库mysql的user表中 查询语句:select host,user,password from mysql.user; 创建 ...
- 温故知新-多线程-深入刨析volatile关键词
文章目录 摘要 volatile的作用 volatile如何解决线程可见? CPU Cache CPU Cache & 主内存 缓存一致性协议 volatile如何解决指令重排序? volat ...