mongodb在mysql中怎么用,mongoDB数据库基本操作
发布日期:2022-02-18 13:08:09 浏览次数:7 分类:技术文章

本文共 5053 字,大约阅读时间需要 16 分钟。

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

查看聚集集合(表)的基本信息查看帮助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"

}

]

转载地址:https://blog.csdn.net/weixin_28871097/article/details/115844419 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:高斯模型matlab程序代码,我找到的高斯混合模型的代码
下一篇:java iris_利用K-Means聚类算法实现对iris.data.ulab

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月20日 05时01分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java进程user是jenkins_java 学习:在java中启动其他应用,由jenkins想到的 2019-04-21
java添加资源文件_如何在eclipse中将资源文件夹添加到我的Java项目中 2019-04-21
java的三种修饰符_3分钟弄明白JAVA三大修饰符 2019-04-21
mysql source skip_redis mysql 中的跳表(skip list) 查找树(btree) 2019-04-21
java sun.org.mozilla_maven编译找不到符号 sun.org.mozilla.javascript.internal 2019-04-21
php curl 输出到文件,PHP 利用CURL(HTTP)实现服务器上传文件至另一服务器 2019-04-21
PHP字符串运算结果,PHP运算符(二)"字符串运算符"实例详解 2019-04-21
PHP实现 bcrypt,如何使php中的bcrypt和Java中的jbcrypt兼容 2019-04-21
php8安全,PHP八大安全函数解析 2019-04-21
php基础语法了解和熟悉的表现,PHP第二课 了解PHP的基本语法以及目录结构 2019-04-21
matlab中lag函数用法,MATLAB movavg函数用法 2019-04-21
matlab变形监测,基于matlab的变形监测数据处理与分析_毕业设计论文 2019-04-21
opencv matlab编程,在Matlab中调用OpenCV函数 | 学步园 2019-04-21
c语言文件wt,c语言,wt和rt中的t是什么意思 2019-04-21
c语言运行几进制,【C语言】求已知等式在几进制条件下成立 2019-04-21
电梯运行仿真c语言代码,电梯调度算法模拟(示例代码) 2019-04-21
android组件动态接收数据库,Android开发——fragment中数据传递与刷新UI(更改控件)... 2019-04-21
云麦小米华为体脂秤怎么样_云康宝和华为智能体脂秤对比评测,实际体验告诉你哪款更好... 2019-04-21
linux 条件判断 取非_Linux awk 系列文章之 awk 多重条件判断 2019-04-21
c语言中如何将字符串的元素一个一个取出_C语言中常用的字符串操作函数 2019-04-21