mongoDB数据库基本操作
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,mongoDB中聚集集合(collection/coll)相当于mysql中的表文档相当于mysql中的每一行数据常用命令1.获得帮助命令db.help()db.表名.help()db.表名.find
千家信息网最后更新 2025年01月20日mongoDB数据库基本操作
mongoDB中聚集集合(collection/coll)相当于mysql中的表
文档相当于mysql中的每一行数据
常用命令
1.获得帮助命令
db.help()db.表名.help()db.表名.find().help()rs.help()
2.切换/创建数据库
use 数据库名称 注意:mongoDB的数据库可以先使用,后创建,当创建一个集合(table)时,当前数据库会自动创建例子:有一个数据库为sutdentdb,要切换到这个数据库则:use studentdb
3.查询所有数据库
show dbs例子:> show dbsadmin 0.078GBlocal 0.078GBstudentdb 0.078GBtest 0.078GB
4.删除当前使用的数据库
db.dropDatabase()例子:> use testswitched to db test> db.dropDatabase(){ "dropped" : "test", "ok" : 1 }> show dbsadmin 0.078GBlocal 0.078GBstudentdb 0.078GB
5.查看当前使用的数据库
db.getName()例子:> use studentdbswitched to db studentdb> db.getName()studentdb
6.显示当前db状态
db.stats()
7.当前db版本
> db.version()2.6.12
8.查看数据库中有多少个表(聚集集合)
show collections
查看聚集集合(表)的基本信息
查看帮助
db.表名.help()
2.查询当前集合中的数据条数
db.表名.count()
3.查看数据空间大小
db.表名.dataSize()
4.当前聚集集合所在的数据库
db.表名.getDB()
5.得到当前聚集集合的状态
db.表名.stats()
6.得到聚集集合的总大小
db.表名.totalSize()
7.查看聚集集合存储空间大小
db.表名.storageSize()
8.查看Shard版本信息
db.表名.getShardVersion()
9.给聚集集合重命名
db.表名.renameCollection("新名字")
10.删除当前聚集集合
db.表名.drop()
查询操作
1.查询所有记录
db.表名.find()相当于:select* from 表名;默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带";"
2.查询结果会过滤掉某一字段中重复的数据,然后显示出来
db.表名.distinct("字段名")例子:> db.student.distinct("Age")[ 20, 40 ] 注:将student表中Age字段中的数据去重后,显示出来
3.查询age=22的数据
db.表名.find({"age":22})例子:> db.student.find({"age":20}){ "_id" : ObjectId("5740dcb29bc83e10802f1cd8"), "name" : "kity", "age" : 20, "gender" : "womand" }
4.查询age大于22的数据
大于号 $gt> db.student.find({"age":{$gt:22}}){ "_id" : ObjectId("5740c1419bc83e10802f1cd6"), "name" : "Tom", "age" : 23, "gender" : "male" }{ "_id" : ObjectId("5740dc369bc83e10802f1cd7"), "name" : "jerry", "age" : 30, "gender" : "male", "guoji" : "china" }{ "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25, "gender" : "male", "Course" : "Linux" }
5.查询age大于等于25的数据
大于等于 $gtedb.student1.find({age:{$gte:25}})
6.查询age小于25的数据
小于 $ltdb.student1.find({age:{$lt:25}})
7.查询age小于等于25的数据
小于等于 $ltedb.student1.find({age:{$lte:25}})
8.查询age大于等于30且小于等于35之间的数据
db.student1.find({age:{$gte:30,$lte:35}})
总结:
大于 $gt
大于等于 $gte
小于 $lt
小于等于 $lte
9.查询name中包含student的数据
> db.student1.find({name:/student/}).count()9916注:文档中只要有student,就会被显示出来
10.查询name中以G开头的数据
db.student.find({name:/^G/})
11.输出student表中name和age这两列
> db.student.find({},{name:1,age:1}){ "_id" : ObjectId("5740c1419bc83e10802f1cd6"), "name" : "Tom", "age" : 23 }{ "_id" : ObjectId("5740dc369bc83e10802f1cd7"), "name" : "jerry", "age" : 30 }{ "_id" : ObjectId("5740dcb29bc83e10802f1cd8"), "name" : "kity", "age" : 20 }{ "_id" : ObjectId("57418fd97267e7d85d8baf3a"), "name" : "Ou yangfeng" }{ "_id" : ObjectId("57418ff77267e7d85d8baf3b"), "name" : "Yang Guo" }{ "_id" : ObjectId("5741901e7267e7d85d8baf3c"), "name" : "Guo jing" }{ "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25 }
12.输出student表中name和age这两列,并指定age>20
> db.student.find({age:{$gt:20}},{name:1,age:1}){ "_id" : ObjectId("5740c1419bc83e10802f1cd6"), "name" : "Tom", "age" : 23 }{ "_id" : ObjectId("5740dc369bc83e10802f1cd7"), "name" : "jerry", "age" : 30 }{ "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25 }
13.按年龄排序
升序:db.student.find().sort({age:1})降序:db.student.find().sort({age:-1})
14.查询name为jerry且年龄为30的数据
db.student.find({name:"jerry",age:30})
15.查询前5条数据
db.student.find().limit(5)
16.查询5条以后数据
db.student.find().skip(5)
17.查询在第二行到第五行之间的数据
db.student.find().limit(2).skip(5)
18.or 查询年龄为20或25的数据
db.student.find({$or:[{age:20},{age:25}]}){ "_id" : ObjectId("5740dcb29bc83e10802f1cd8"), "name" : "kity", "age" : 20, "gender" : "womand" }{ "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25, "gender" : "male", "Course" : "Linux" }
19.查询第一条数据
db.student.findOne()
20.统计 使用count()函数
索引
1.创建索引
> db.student.ensureIndex({name:1}){ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}> db.student.getIndexes() //查看索引[ { "v" : 1, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "studentdb.student" }, { "v" : 1, "key" : { "name" : 1 }, "name" : "name_1", "ns" : "studentdb.student" }]> db.student.ensureIndex({name:1,age:1}){ "createdCollectionAutomatically" : false, "numIndexesBefore" : 2, "numIndexesAfter" : 3, "ok" : 1}> db.student.getIndexes()[ { "v" : 1, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "studentdb.student" }, { "v" : 1, "key" : { "name" : 1 }, "name" : "name_1", "ns" : "studentdb.student" }, { "v" : 1, "key" : { "name" : 1, "age" : 1 }, "name" : "name_1_age_1", "ns" : "studentdb.student" }]> db.student.ensureIndex({name:1,age:-11}){ "createdCollectionAutomatically" : false, "numIndexesBefore" : 3, "numIndexesAfter" : 4, "ok" : 1}> db.student.getIndexes()[ { "v" : 1, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "studentdb.student" }, { "v" : 1, "key" : { "name" : 1 }, "name" : "name_1", "ns" : "studentdb.student" }, { "v" : 1, "key" : { "name" : 1, "age" : 1 }, "name" : "name_1_age_1", "ns" : "studentdb.student" }, { "v" : 1, "key" : { "name" : 1, "age" : -11 }, "name" : "name_1_age_-11", "ns" : "studentdb.student" }]
数据
查询
数据库
例子
命令
大小
字段
年龄
索引
之间
信息
文档
版本
状态
空间
切换
帮助
输出
一行
五行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发实习内容描述
软件开发业务调研细分活动
reca数据库
诺顿网络安全入门版
魔兽世界角色转移服务器要多久
数据库中的关系模型
安卓应用软件开发仿真
富国互联网科技是什么
计算机网络技术调剂信息
上海双凌电脑软件开发中心
东方微点杀毒软件开发商
时代传媒网络技术有限公司
常用数据库应用安全问题研究
服务器端口开放不安全
学校存在的网络安全问题
公司开展网络安全讲座
xbox服务器区别
管理员身份启动服务器
组态王软件开发 优缺点
软件开发和底层开发
政府使用计算机网络安全
中小学生安全网络安全小视频
魔兽世界角色转移服务器要多久
pop邮件公司服务器没电能发吗
软件开发刚开始干什么
VLAN可以增强网络安全性
富国互联网科技是什么
江苏工控软件开发公司
软件开发团队成本大概多少
常见的关系型数据库有哪几种