mongoDB工具介绍与常用命令整理
前言:
平时的测试工作中接触的数据库并不只有sql,许多公司为了更好的处理数据,特别是对数据要求较高的业务通常会采取更合适的处理方案与工具,所以测试工作中对于其他类型的数据库也要有适当的了解与使用,常用的mongoDB、Redis等;不同的工具也会有不同的查询方法,当然对于测试而言仅仅掌握常用的增删查改就够了;本篇介绍的就是我在工作中接触比较多的mongoDB,并整理了一些简单的语句,仅供参考;
一、mongoDB简介
数据类别:非关系型数据库
存储方式:虚拟内存+持久化。
查询语句:是独特的Mongodb的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。
架构特点:可以通过副本集,以及分片来实现高可用。
数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写
二、mongoDB常用工具
1、Robo 3T(免费)
支持 MongoDB 4.0,轻量级GUI,支持 sql 查询,支持语法填充。不支持导入导出。支持在三大平台 Windows 、Mac 、Linux 上运行;
2、MongoDBCompass(免费)
官方链接工具;不支持 sql 查询,支持性能监控。支持在三大平台 Windows 、Mac 、Linux 上运行;
3、adminmongo(免费)
跨平台用户界面(GUI),用于处理所有MongoDB连接/数据库需求;
4、命令终端(命令行操作)
windows用户可使用SecureCRT、cmder等工具连接服务器
mac用户直接使用自带的终端工具连接就可以
三、mongoDB常用命令
1、查看当前数据库
mongos> use dbs
2、删除数据库
mongos>db.dropDatabase()
3、创建数据表
mongos>db.createCollection("tab_test")
4、插入内容
mongos>db.tab_test.insert({id:1, name:'a'})
5、删除表中指定内容
mongos>db.tab_test.deleteOne({id:10})
6、删除表中指定所有内容
mongos>db.tab_test.deleteMany({id:10})
7、删除集合中所有文档
mongos>db.tab_test.deleteMany({})
8、删除集合
mongos>db.tab_test.drop()
9、更改指定数据
mongos>db.tab_test.update({'id':1},{$set:{name:'cdy'}})
10、更改符合条件的所有数据
mongos>db.tab_test.update({'id':1},{$set:{name:'cdy'}},{multi:true})
11、查看集合内容
db.tab_test_20180306.find({})
12、查看集合指定内容
db.tab_test_20180306.find({"mac":"f0:79:60:38:c7:8f"})
13、查看集合指定内容并倒序排列
db.tab_test_20180306.find({"mac":"f0:79:60:38:c7:8f"}).sort({time:-1})
14、查看集合指定内容并倒序排列并展示5条
db.tab_test_20180306.find({"mac":"f0:79:60:38:c7:8f"}).sort({time:-1}).limit(5)
15、集合中指定条件查询
db.tab_test_20180508.find({"mac":"f0:79:60:38:c7:8f"},{sn:1,apmac:1,entrance_type:1,event_type:1,page_type:1,event_name:1,_id:0})
16、统计集合中指定条件数量
db.tab_test_20170906.length
17、统计集合中指定条件数量(去重)
db.tab_test_20170906.distinct(“openid”).length
18、统计集合中指定条件数量(去重+指定时间段)
db.tab_test_20180510.distinct("openid",{"time":{"$gt":"2018-05-10 23:30:00","$lt":"2018-05-10 23:40:00"}}).length
19、查询集合不包含指定条件
db.tab_test.find({age:{$nin:['10','12']}});
20、常用查询运算符
不等于 | $ne |
包含 | $in |
不包含 | $nin |
大于 | $gt |
大于等于 | $gte |
小于 | $lt |
小于等于 | $lte |
排序 | Sort |
统计 | count |
限定 | Limit |
且 | AND |
或 | OR |