(一)基本命令
- 显示当前数据库服务器上的数据库
show dbs
- 切换到指定数据库pagedb的,可以在此管理pagedb数据库以及其中的集合等
use pagedb
- 显示数据库中的所有集合
show collections
- 查看数据库服务器状态
db.serverStatus()
- 查询指定数据库统计信息
db.status()
- 创建数据 库 mydatabase
use mydatabase;(只是切换,不是创建)
- 创建集合 student
db.createCollection("student",{capped:ture,size:1000,max:100})
db.student.save({_id:1,classid:1,age:18,name:"little1",love:["football","swing","cmpgame"]})db.student.save({_id:2,classid:2,age:19,name:"little2",love:["play"]})db.student.save({_id:3,classid:2,age:20,name:"little3"})db.student.save({_id:4,classid:1,age:21,name:"little4"})db.student.save({_id:5,classid:1,age:22,name:"little5",opt:"woshisheia"})db.student.save({_id:6,classid:2,age:23,name:"23little4"})- 或者
db.student.insert([{_id:1,classid:1,age:18,name:"little1",love:["football","swing","cmpgame"]},{_id:2,classid:2,age:19,name:"little2",love:["play"]},{_id:3,classid:2,age:20,name:"little3"},{_id:4,classid:1,age:21,name:"little4"},{_id:5,classid:1,age:22,name:"little5",opt:"woshisheia"},{_id:6,classid:2,age:23,name:"23little4"},])
查询一条记录/多条记录(查询出name为little的数据)db.student.find({name:"little1"})
- 从第二条查寻,查出第三条
db.student.find().skip(1).limit(3)
- 查询出19
db.student.find({age:{gt:19,lte:21}})
=""查询出age为奇数的数据(对2求余为1即为奇数)=""$mod=""
db.student.find({age:{$mod:[2,1]}})
="" 查询出存在opt字段的数据="" [exists](https://www.bookstack.cn/read/piaosanlang-mongodb/=%22%22%20docs.mongodb.com=%22%22%20manual=%22%22%20reference=%22%22%20operator=%22%22%20query=%22%22%20exists=%22%22 "exists")=""
db.student.find({opt:{$exists:true}})
="" 查询出不存在opt字段的数据=""
db.student.find({opt:{$exists:false}})
="" 查询出name不为little2的数据="" [ne](https://www.bookstack.cn/read/piaosanlang-mongodb/=%22%22%20docs.mongodb.com=%22%22%20manual=%22%22%20reference=%22%22%20operator=%22%22%20query=%22%22%20ne=%22%22 "ne")=""
db.student.find({name:{$ne:"little2"}})
="" 查询出age为16,18,19的数据="" [in](https://www.bookstack.cn/read/piaosanlang-mongodb/=%22%22%20docs.mongodb.com=%22%22%20manual=%22%22%20reference=%22%22%20operator=%22%22%20query=%22%22%20in=%22%22 "in")=""
db.student.find({age:{$in:[16,18,19]}})
="" 查询出age不为16,18,19的数据="" [nin](https://www.bookstack.cn/read/piaosanlang-mongodb/=%22%22%20docs.mongodb.com=%22%22%20manual=%22%22%20reference=%22%22%20operator=%22%22%20query=%22%22%20nin=%22%22 "nin")=""
db.student.find({age:{$nin:[16,18,19]}})
="" 查询出love有三个的数据=""
$size=""db.student.find({love:{$size:3}})
="" 查询出name不是以litt开头的数据="" [not](https://www.bookstack.cn/read/piaosanlang-mongodb/=%22%22%20docs.mongodb.com=%22%22%20manual=%22%22%20reference=%22%22%20operator=%22%22%20query=%22%22%20not=%22%22 "not")[regex](https://www.bookstack.cn/read/piaosanlang-mongodb/=%22%22%20docs.mongodb.com=%22%22%20manual=%22%22%20reference=%22%22%20operator=%22%22%20query=%22%22%20regex=%22%22 "regex")=""
db.student.find({name:{$not:/^litt.*/}})
="" 查询age="">20的数据
db.student.find({age:{$gt:20}})
按age升序
db.student.find().sort({age:1})
按age降序
db.student.find().sort({age:-1})
查询数据条数
db.student.find().count()
删除记录
删除age为20的数据
db.student.remove({age:20});
创建索引
创建索引 age
db.student.ensureIndex({"age":1})
- 查询索引
db.student.getIndexes()
- 删除索引
db.student.dropIndex({"age" : 1})
- 统计集合记录数
db.student.count()
- 删除集合 student
db.student.drop()
- 删除数据库 mydatabase
db.dropDatabase()
(三)安全管理
以安全认证模式启动
添加用户
安全认证
(四)数据备份、恢复与迁移管理
备份全部数据库
备份指定数据库
备份一个数据库中的某个集合
恢复全部数据库
恢复某个数据库的数据
恢复某个数据库的某个集合的数据
向MongoDB导入数据
从MongoDB导出数据
(五)远程连接管理
基于mongo实现远程连接
mongo ---host 192.168.17.129 ---port 27017
(六)聚合
- 计算各班级平均年龄
db.student.aggregate([{$group: {_id: "$classid",avg_age: {$avg: "$age"}}}])
- 计算全班级平均年龄
db.student.aggregate([{$group: {_id: null,avg_age: {$sum: "$age"}}}])(七) MapReduce
- 计算各班级平均年龄
分组统计(MapReduce):
var mapfun = function(){emit(this.classid,this.age);}var reducefun = function(key, values){var total=0;for(var i=0;i<values.length;i++){total += values[i];}return { classid: key, age_avg: total/values.length };}db.student.mapReduce(mapfun,reducefun,{ out: "student_res" })查询统计结果(分班级统计人数)
db.student_res.find()
- 各班级统计人数
分组统计(MapReduce):
查询统计结果(分班级统计人数)
var mapfun = function(){emit(this.classid,1);}var reducefun = function(key, values){return Array.sum(values);}db.student.mapReduce(mapfun,reducefun,{ out: "student_sta" })db.student_sta.find();
MongoDB
努力买辣条2025-07-20 19:05
相关推荐
N***738518 分钟前
SQL锁机制小羊在奋斗27 分钟前
MySQL表的约束:从基础到核心(附场景+案例)Wang's Blog31 分钟前
MongoDB小课堂: 文档查询之匹配查询与比较操作符深度解析cookqq38 分钟前
mongodb根据索引IXSCAN 查询记录流程p***32351 小时前
如何使用C#与SQL Server数据库进行交互h***34631 小时前
Redis安装教程(Windows版本)泡沫·3 小时前
5.MariaDB数据库管理i***51263 小时前
【数据库】MySQL的安装与卸载数白3 小时前
Oracle 数据迁移最佳实践(不使用第三方工具)周杰伦fans3 小时前
C# 中的**享元工厂**模式