文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mongoDB数据库基本操作

2024-04-02 19:55

关注

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 dbs
admin      0.078GB
local      0.078GB
studentdb  0.078GB
test       0.078GB

 4.删除当前使用的数据库

db.dropDatabase()
例子:
> use test
switched to db test
> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }
> show dbs
admin      0.078GB
local      0.078GB
studentdb  0.078GB

 5.查看当前使用的数据库

db.getName()
例子:
> use studentdb
switched to db studentdb
> db.getName()
studentdb

 6.显示当前db状态

db.stats()

 7.当前db版本

> db.version()
2.6.12

 8.查看数据库中有多少个表(聚集集合)

show collections



查看聚集集合(表)的基本信息

  1. 查看帮助

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的数据

大于等于 $gte
db.student1.find({age:{$gte:25}})

6.查询age小于25的数据

小于 $lt
db.student1.find({age:{$lt:25}})

7.查询age小于等于25的数据

小于等于 $lte
db.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"
	}
]


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯