window上mongoDB的安装及常用mongodb命令
前几天在学习node操作数据库时使用的mongoDB数据库,今天来对mongodb的安装过程及配置以及后面需要使用的一些常用命令做一下总结。
安装MongoDB (可参考菜鸟教程中的安装步骤)
首先,需要下载mongodb安装程序
可自行到官网下载:
https://www.mongodb.com/download-center/community
然后,安装mongodb
安装过程中可选择complete(默认安装方式)及custom(自定义安装方式),其中有一步不用选择 “ install mongoDB compass ”,该选项是安装mongoDB的GUI可视化界面(勾选上的话安装很慢),可以到官网去下载图形界面或者使用其他软件(自己使用的是Navicat)
https://www.mongodb.com/download-center/compass
最后,配置环境变量
和node类似,mongo数据库也是需要配置环境变量的:
我的电脑(属性) --> 高级系统设置 --> 环境变量 --> 系统变量 --> 找到path属性,将mongodb的安装目录添加进去
mongoDB常用命令
1、启动数据库
>mongod --dbpath (自定义文件夹路径) --port 端口号 // mongodb默认端口号为27017,可自定义其他端口 2、连接数据库
>mongo --port 端口号 3、查看数据库信息
>db.stats() 4、选择使用哪个数据库
>use 数据库名 // 该指令是选择指定数据库,若没有则自动创建 5、显示有哪些数据库
>show dbs; 6、显示数据库中有哪些表
>show tables; 7、查看表信息
>db.data_sys_log.stats() 8、数据库帮助
>db.help() 9、数据表帮助
>db.data_sys_log.help() 10、查看全表记录
>db.data_sys_log.find() 11、设置命令行查询数据,每页显示多少条
>DBQuery.shellBatchSize = 5 /*
默认每页显示20条记录,当显示不下的情况下,可以用 it迭代命令查询下一页数据
可以通过DBQuery.shellBatchSize设置每页显示数据的大小。如:
DBQuery.shellBatchSize = 5,这样每页就显示5条记录了
*/ 12、查询一条记录
>db.data_sys_log.findOne() 13、查询聚集中字段的不同记录
>db.data_sys_Log.distinct("login_name") 14、查询聚集中login_name包含“李”关键字的记录
>db.data.sys_log.find({"login_name":/李/}) 15、查询聚集中login_name以“李”关键字开头的记录
>db.data.sys_log.find({"login_name":/^李/}) 16、查询聚集中login_name以“李”关键字结尾的记录
>db.data.sys_log.find({"login_name":/李$/}) 17、查询聚集中指定列
1表示true:相当于select logoin_name,role_name from data_sys_log
>db.data_sys_log.find({},{"login_name":1,"role_name":1})
虽然只查login_name,role_name两列,默认会带出_id列 18、查询聚集中排除指定列
>db.data_sys_log.find({},{"login_name":0,"role_name":0}) 19、查询聚集中指定列,且 Age > 20
>db.data_sys_log.find({"Age":{"$gt":20}},{"login_name":0,"role_name":0}) 20、聚集中字段排序
>db.data_sys_log.find().sort({"login_name":1}) 升序
>db.data_sys_log.find().sort({"login_name":-1}) 降序 21、统计聚集中记录条数
>db.data_sys_log.find().count(); 22、统计聚集中符合条件的记录条数
>db.data_sys_log.find({"Age":{"$gt":20}}).count() 23、统计聚集中字段符合条件的记录条数
>db.data_sys_log.find({"login_name":{"$exists":true}}).count()
相当于:select count(login_name) from data_sys_log 24、查询聚集中前5条记录
>db.data_sys_log.find().limit(5) 25、查询聚集中第10条记录以后的5条记录
>db.data_sys_log.find().skip(10).limit(5) 26、查询聚集中第10条以后的记录,即从第11条开始
>db.data_sys_log.find().skip(10) 27、OR查询
>db.data_sys_log.find({"$or":[{"login_name":/王/},{"role_name":/王/}]},{"login_name":true,"role_name":true})
相当于:
select login_name,role_name from data_sys_log where login_name like '%王%' or role_name like '%王%' 28、添加新记录
>db.data_sys_log.insert({"_class":"com.uws.base.model.SysLogMongo","login_name":"测试","role_name":"测试角色","opt_content":"[类名]:com.uws.base.controller.LoginController,[方法]:logout,[参数]:","create_time":"2019-05-21 10:59:10"}) 注意:如果不选择库执行,即不use hz_studentroll;
则直接在test库中创建data_sys_log表,插入数据 29、修改记录
>db.data_sys_log.update({"login_name":"系统管理员"},{"$set":{"role_name":"管理员"}})
注意:配置多条,只会修改一条 30、删除记录
>db.data_sys_log.remove({"role_name":"管理员"})
>db.data_sys_log.remove({"age":{$lt:20}}) age<20
$lt <
$lte <=
$gt >
$gte >=
$ne != 31、全部删除
>db.data_sys_log.remove()
>db.data_sys_log.remove({}) 32、给表添加字段
>db.data_sys_log.update({},{$set:{source:null}},{multi:1}) 33、删除表字段
>db.data_sys_log.update({},{$unset:{'source':null}},false,true) 34、删除数据库
>db.dropDatabase(); 删除当前所在的数据库 35、删除表
>db.user.drop() 删除user表 36、关闭mongo服务
1)使用数据库命令关闭:
>use admin
>db.shutdownServer() 2)使用mongod命令关闭
>mongod --shutdoun -f ../mongo.conf
或者
>mongod -f ../monog.conf shutdown 3)使用kill命令
>ps -ef|grep mongo
>kill pid
>ps -ef|grep pmon
使用 kill -2 pid 或 kill -15 pid
不要使用kill -9 pid,因为如果MongoDB运行在没开户日志(--journal)的情况下,可能会造成数据损失。 37、建立复合索引
>db.test.ensureIndex({"age": 1,"no": 1,"name": 1 }) 38、查看索引命名空间
>db.tb_user.stats() 查看indexSizes的值 39、查看表数据大小:bytes
db.sysLog.dataSize() 40、查看表分配大小,包括未使用的空间
>db.sysLog.totalSize() 41、查看表索引大小
>db.sysLog.totalIndexSize(); // 注:前面的 data_sys_log 表示集合名(和mysql中表类似)
window上mongoDB的安装及常用mongodb命令的更多相关文章
- window上利用pip安装pandas
官网推荐的是直接使用Anoconda,它集成了pandas,可以直接使用.安装挺简单的,有windows下的安装包.如果不想安装庞大的Anoconda,那就一步一步用pip来安装pandas.下面我主 ...
- MongoDB的安装与设置MongoDB服务
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB ...
- Docker 容器安装及常用基础命令
为什么用docker 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. Docker 在如下几个方面具有较大的优势: 更快速的交付和部署 Docker在整个开发周期都可以 ...
- Nginx 简介与安装、常用的命令和配置文件
1.nginx 简介(1)介绍 nginx 的应用场景和具体可以做什么事情 (2)介绍什么是反向代理 (3)介绍什么是负载均衡 (4)介绍什么是动静分离 2.nginx 安装(1)介绍 nginx 在 ...
- Docker介绍,安装和常用的命令
Docker是Google公司推出的Go语言开发的,基于Linux内核的cgroup,namespace,AUFS类的UnionFS等技术.对进程进行封装格力,属于操作系统层面的虚拟化技术.隔离的进程 ...
- 【原创】大数据基础之Mongodb(2)常用查询命令
1 下载 https://www.mongodb.com/download-center/community 比如: https://fastdl.mongodb.org/linux/mongodb- ...
- redis 的安装及常用的命令
前言: redis是一个key-value的存储系统,value支持string.list.set.zset.hash五种类型,且支持数据的本地存储 一.安装redis 前提:linux下需要安装了m ...
- rabbitmq server的安装以及常用的命令
Centos 源代码编译 安装 ErlangErlang依赖哪些库? A fully working GCC compiler environment Ncurses developm ...
- ZooKeeper的使用:安装、常用的命令
公司项目需要使用dubbo,因此,自己做个小Demo就很有必要了,也有助于自己理解和使用,前期准备工作当然就必不可少了,因为dubbo是发布到zookeeper的服务,故先把zookeeper的环境先 ...
随机推荐
- kotlin中抽象类
抽象类和接口很类似,抽象类不能被实例化需要使用abstract 关键字声明,抽象类实现接口后,接口中没有函数体的函数可以不重写,接口中的这些方法就自动被继承到实现接口的抽象类中,称为抽象方法 pack ...
- [Java复习] Spring Boot
什么是Spring Boot? 传统SSH/SSM框架配置繁琐,有很多重复的模板配置,效率不高. Spring Boot快速创建可独立运行,生产级别的Spring应用程序. 主要是基于Spring家族 ...
- array_splice 在数组某位置插入数据
$arr=array('a','b','c','d','e','f','g');//目标数组 $i_arr=array(');//要插入的数组 $n=;//插入的位置 array_splice($ar ...
- js 基本类型与引用类型的存储
js的变量类型分为基本数据类型和引用数据类型 7种基本数据类型:null, undefined, number, boolean, string(大多数语言中string属于引用数据类型,而在js中它 ...
- webview的学习总结:
1.1: Weview常见的坑 及其 内存泄漏的解决方案: WebView 1. WebView常见的坑 API 16之前版本存在远程代码执行漏洞,该漏洞源自于程序没有正确限制使用WebView.ad ...
- .Netcore 2.0 Ocelot Api网关教程(9)- QoS
本文介绍Ocelot中的QoS(Quality of Service),其使用了Polly对超时等请求下游失败等情况进行熔断. 1.添加Nuget包 添加 Ocelot.Provider.Polly ...
- 常用CSS媒体查询
@media screen and (orientation: portrait) { /*竖屏 css*/} @media screen and (orientation: landscape) { ...
- NDK学习笔记-多线程与生产消费模式
在做NDK开发的时候,很多情况下都是需要使用多线程的,一方面是提高程序运行效率,另一方面就是防止主线程阻塞 C的多线程 在C语言里,可以通过对于POSIX标准的运用,使得C语言执行多线程 提高程序的执 ...
- spring中的BeanFactoryPostProcessor
spring中的BeanFactoryPostProcessor和BeanPostProcessor有些像,BeanPostProcessor是在bean的初始化前后进行一些操作, BeanFacto ...
- 初识gRPC
一.gRPC的概念 gRPC是Google推出的一个开源高性能的轻量级RPC框架,可以在任何环境中运行.它可以有效地连接数据中心内和跨数据中心的服务,并提供可插拔的支持,以实现负载平衡,跟踪,健康检查 ...