mongoDB工具介绍与常用命令整理

前言:

平时的测试工作中接触的数据库并不只有sql,许多公司为了更好的处理数据,特别是对数据要求较高的业务通常会采取更合适的处理方案与工具,所以测试工作中对于其他类型的数据库也要有适当的了解与使用,常用的mongoDB、Redis等;不同的工具也会有不同的查询方法,当然对于测试而言仅仅掌握常用的增删查改就够了;本篇介绍的就是我在工作中接触比较多的mongoDB,并整理了一些简单的语句,仅供参考;

一、mongoDB简介

数据类别:非关系型数据库

存储方式:虚拟内存+持久化。

查询语句:是独特的Mongodb的查询方式。

适合场景:事件的记录,内容管理或者博客平台等等。

架构特点:可以通过副本集,以及分片来实现高可用。

数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写

二、mongoDB常用工具

1、Robo 3T(免费)

支持 MongoDB 4.0,轻量级GUI,支持 sql 查询,支持语法填充。不支持导入导出。支持在三大平台 Windows 、Mac 、Linux 上运行;

mongoDB工具介绍与常用命令整理

 

2、MongoDBCompass(免费)

官方链接工具;不支持 sql 查询,支持性能监控。支持在三大平台 Windows 、Mac 、Linux 上运行;

mongoDB工具介绍与常用命令整理

 

3、adminmongo(免费)

跨平台用户界面(GUI),用于处理所有MongoDB连接/数据库需求;

mongoDB工具介绍与常用命令整理

 

4、命令终端(命令行操作)

windows用户可使用SecureCRT、cmder等工具连接服务器

mac用户直接使用自带的终端工具连接就可以

mongoDB工具介绍与常用命令整理

 

 

三、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