mongoDB中聚集集合(collection/coll)相当于mysql中的表
10年的水富网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整水富建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“水富网站设计”,“水富网站推广”以来,每个客户项目都认真落实执行。文档相当于mysql中的每一行数据
常用命令
1.获得帮助命令
db.help() db.表名.help() db.表名.find().help() rs.help()2.切换/创建数据库
use 数据库名称 注意:mongoDB的数据库可以先使用,后创建,当创建一个集合(table)时,当前数据库会自动创建 例子:有一个数据库为sutdentdb,要切换到这个数据库则: use studentdb3.查询所有数据库
show dbs 例子: > show dbs admin 0.078GB local 0.078GB studentdb 0.078GB test 0.078GB4.删除当前使用的数据库
db.dropDatabase() 例子: > use test switched to db test > db.dropDatabase() { "dropped" : "test", "ok" : 1 } > show dbs admin 0.078GB local 0.078GB studentdb 0.078GB5.查看当前使用的数据库
db.getName() 例子: > use studentdb switched to db studentdb > db.getName() studentdb6.显示当前db状态
db.stats()7.当前db版本
> db.version() 2.6.128.查看数据库中有多少个表(聚集集合)
show collections查看聚集集合(表)的基本信息
查看帮助
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" } ]另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。