MongoDB学习笔记
时间:2022-06-13
本文章向大家介绍MongoDB学习笔记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本篇文章介绍学习MongoDB的一些常用命令,希望能帮助大家.
常用操作
-
Help
查看命令提示-
db.help()
; -
db.yourColl.help()
; -
db.youColl.find().help()
;
-
- 切换/创建数据库
-
use yourDB
; 当创建一个集合(table
)的时候会自动创建当前数据库
-
- 查询所有数据库
-
show dbs
;
-
- 删除当前使用数据库
-
db.dropDatabase()
;
-
- 从指定主机上克隆数据库
- 从指定主机上克隆数据库
- 从指定的机器上复制指定数据库数据到某个数据库
-
db.copyDatabase("mydb", "temp", "127.0.0.1")
;将本机的mydb
的数据复制到temp
数据库中
-
- 修复当前数据库
-
db.repairDatabase()
;
-
- 查看当前使用的数据库
-
db.getName()
;
-
- 显示当前db状态
-
db.stats()
;
-
- 当前db版本
-
db.version()
;
-
- 查看当前db的链接机器地址
-
db.getMongo()
;
-
Collection聚集集合操作
- 创建一个聚集集合(
table
)-
db.createCollection(“collName”, {size: 20, capped: 5, max: 100})
;
-
- 得到指定名称的聚集集合(
table
)-
db.getCollection("account")
;
-
- 得到当前db的所有聚集集合
-
db.getCollectionNames()
;
-
- 显示当前db所有聚集索引的状态
-
db.printCollectionStats()
;
-
用户相关操作
- 添加一个用户
-
db.addUser("name")
; -
db.addUser("userName", "pwd123", true)
; 添加用户、设置密码、是否只读
-
- 数据库认证、安全模式
-
db.auth("userName", "123123")
;
-
- 显示当前所有用户
-
show users
;
-
- 删除用户
-
db.removeUser("userName")
;
-
聚集集合查询
- 查询所有记录
-
db.userInfo.find()
; 相当于:select* from userInfo
;默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。
-
- 查询去掉后的当前聚集集合中的某列的重复数据
-
db.userInfo.distinct("name")
;会过滤掉name中的相同数据,相当于:select distict name from userInfo
;
-
- 查询
age = 22
的记录-
db.userInfo.find({"age": 22})
; 相当于:select * from userInfo where age = 22
;
-
- 查询
age > 22
的记录-
db.userInfo.find({age: {$gt: 22}})
;
-
- 查询
age < 22
的记录-
db.userInfo.find({age: {$lt: 22}})
;
-
- 查询
age >= 25
的记录-
db.userInfo.find({age: {$gte: 25}})
;
-
- 查询
age >= 23
并且age <= 26
-
db.userInfo.find({age: {$gte: 23, $lte: 26}})
;
-
- 查询
name
中包含mongo
的数据-
db.userInfo.find({name: /mongo/})
;
-
- 查询
name
中以mongo
开头的-
db.userInfo.find({name: /^mongo/})
;
-
- 查询指定列
name
、age
数据-
db.userInfo.find({}, {name: 1, age: 1})
;当然name
也可以用true
或false
,当用ture
的情况下河name:1
效果一样,如果用false
就是排除name
,显示name
以外的列信息。
-
- 查询指定列
name
、age
数据,age > 25
.-
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1})
;
-
- 按照年龄排序
- 升序:
db.userInfo.find().sort({age: 1})
; - 降序:
db.userInfo.find().sort({age: -1})
;
- 升序:
- 查询
name = zhangsan, age = 22
的数据-
db.userInfo.find({name: 'zhangsan', age: 22})
;
-
- 查询前5条数据
-
db.userInfo.find().limit(5)
;
-
- 查询10条以后的数据
-
db.userInfo.find().skip(10)
;
-
- 查询在5-10之间的数据
-
db.userInfo.find().limit(10).skip(5)
;可用于分页,limit是pageSize,skip是第几页*pageSize
-
- or与 查询
-
db.userInfo.find({$or: [{age: 22}, {age: 25}]})
;
-
- 查询第一条数据
-
db.userInfo.findOne()
; -
db.userInfo.find().limit(1)
;
-
- 查询某个结果集的记录条数
-
db.userInfo.find({age: {$gte: 25}}).count()
;如果要返回限制之后的记录数量,要使用count(true)或者count(非0) -
db.users.find().skip(10).limit(5).count(true)
;
-
- 按照某列进行排序
-
db.userInfo.find({sex: {$exists: true}}).count()
;
-
索引
- 创建索引
-
db.userInfo.ensureIndex({name: 1})
; -
db.userInfo.ensureIndex({name: 1, ts: -1})
;
-
- 查询当前聚集集合所有索引
-
db.userInfo.getIndexes()
;
-
- 查看总索引记录大小
-
db.userInfo.totalIndexSize()
;
-
- 读取当前集合的所有index信息
-
db.users.reIndex()
;
-
- 删除指定索引
-
db.users.dropIndex("name_1")
;
-
- 删除所有索引
-
db.users.dropIndexes()
;
-
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- grafana使用教程之API key
- Grafana使用教程之安装
- Java基础数据类型之包装类equals和==详解
- SCP不用密码传输文件
- Java 使用Collections.reverse对list集合进行降序排序
- Liquibase异常 mysql数据库 Cannot add foreign key constraint
- Linux获取文件最后修改时间
- Crontab脚本无法正常执行问题
- Python 输入时间字符串以分钟单位计算时间差
- Linux下执行bcp指令
- Python 处理时间差
- Zabbix发送带附件的邮件
- CentOs7下Zabbix安装教程——zabbix agent安装和前端配置
- CentOs7下Zabbix安装教程——zabbix server安装
- CentOs7下Zabbix安装教程——准备工作