MongoDB 学习(一)安装配置和简单应用
一、安装和部署
1、服务端安装
1、官网下载(官方网站 https://www.mongodb.org/downloads/#production),傻瓜式安装,注意修改安装路径。
安装完成后的目录结构:
bin中,mongo.exe 为客户端,mongod.exe 为数据库:
2、配置环境变量
2、启动服务端
1、配置数据存放地址
创建数据目录:D:\MongoDB\data
2、配置日志存放地址
创建日志目录:D:\MongoDB\log
在命令行中配置:
mongod.exe --dbpath="D:\MongoDB\data" --logpath="D:\MongoDB\log\demo.log" --port=27017
注意:
1、启动成功后再当前控制台中不会有任何提示(没有消息就是最好的消息)。
2、在日志文件可以查看是否启动成功。
3、不要关闭这个命令行。
3、查看 data 、 log 文件夹 和 demo.log 文件:
1、data 文件夹:
2、log 文件夹:
3、打开 demo.log:
在 demo.log 文件中,可以看到是否配置成功,配置的一些信息。
3、启动客户端
在命令行中输入 mongo.exe 显示如下信息:
二、MongoDB 和其他数据库的区别
三、应用
1、常用命令
1、db.help() 查看命令提示:
2、db 查看当前所在数据库名字:
3、use命令 use + 数据库名 表示切换或是创建数据库:
4、show dbs 显示数据库,需要注意的是show dbs,只会显示有数据的库,没有数据的库,是不会显示的。下图中,dqs数据库中,开始没有数据,所以不会显示,当我插入一条数据库后,show dbs 就会显示它。
5、db.dropDatabase() 删除当前数据库的数据:
6、db.stats() 查看当前数据的状态:
解释:
"db" : "zt01" ,表示当前是针对 "zt01" 这个数据库的描述。
"collections" : 0,表示当前数据库有多少个collections.可以通过运行show collections查看当前数据库具体有哪些collection。
"objects" : 0,表示当前数据库所有collection总共有多少行数据。显示的数据是一个估计值,并不是非常精确。
"avgObjSize" : 0,表示每行数据平均大小,也是估计值,单位是bytes。
"dataSize" : 0,表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes。
"storageSize" : 0,表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间。
"numExtents" : 0,事件数。
"indexes" : 0,表示system.indexes表数据行数。
"indexSize" : 0,表示索引占有磁盘大小。单位是bytes
"fileSize" : 0,表示当前数据库预分配的文件大小。
7、db.version() 查看mongoDB版本:
8、db.getMongo() 查看当前连接机器的ip:
9、db.createCollection() 创建集合:
10、db.collection.drop() 删除集合:
11、db.COLLECTION_NAME.insert(document) 插入文档:
MongoDB 插入数据就和插入 json 数据一样。
文档 document:json格式字符串
{ "_id" : ObjectId("5aa1e91d9f51d3ee8ed16453"), "title" : "mongodb study", "by" : "zt1994" }
12、update() 方法用于更新已存在的文档:
语法:
db.collection.update(
<query>, query : update的查询条件,类似sql update查询内where后面的。
<update>, update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
{
upsert: <boolean>, upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi: <boolean>, multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern: <document> writeConcern :可选,抛出异常的级别。
}
)
MongoDB 学习(一)安装配置和简单应用的更多相关文章
- asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- 【转】asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- ogre3d环境配置 SDK安装配置及简单事例教程
ogre3d环境配置 SDK安装配置及简单事例教程 http://www.cr173.com/html/22594_1.html ogre3d环境配置 SDK安装配置及简单事例教程 http://ww ...
- MongoDB学习(1)--安装,基本curd操作
知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...
- MongoDB入门,安装配置与基本CURD操作
MongoDB特点 MongoDB是NoSQL的一种,非关系型数据库,或者叫不只是关系型数据库(Not Only SQL).MongoDB采用json格式的文档存储,与Redis的key-value有 ...
- InteliiJ IDEA的安装配置与简单使用
小Alan前段时间一直在家里搬砖,已经很久没有接触技术了,从今天开始重拾技术,工欲善其事,必先利其器,以前在做Java开发的时候最常用的IDE就是Eclipse莫属了,不过随着岁月的流逝,在2016年 ...
- Yii的学习(1)--安装配置
之前在sina博客写过Yii的文章,来到博客园之后,没再写过关于Yii的文章,正好端午假期没啥事,就结合以前的博客,Yii的官方文档,再加上最近的关于Yii的收获总结一下,写个系列~~ Yii是一个基 ...
- OpenCV安装配置的简单记录
在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...
随机推荐
- leecode刷题(9)-- 有效的数独
leecode刷题(9)-- 有效的数独 有效的数独 描述: 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 ...
- 7,CountDownLatch 与 CyclicBarrier 的 区别
CountDownLatch : 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDo ...
- myeclipse部署项目到tomcat-custom_location 方式
在想要部署的路径下:1.新建一个在tomcat--->server.xml文件夹下设置的文件名 2.在新建的文件夹下新建一个 ROOT文件夹, 3.在myeclipse里面吧项目部署到 ROO ...
- UItextInput-Protocol
UItextInput是一个protocol,一般来说,文字处理的控件都要遵守这个协议.如UITextField,UITextView.下面介绍一些文字处理的基本概念. marked text 对于多 ...
- 网络传输层之TCP/UDP详解
一.运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层. 运输层的任务就是负责主机中两个进程之间的通信,其数据传输的单 ...
- 复制订阅服务器和 AlwaysOn 可用性组 (SQL Server)
https://docs.microsoft.com/zh-cn/sql/database-engine/availability-groups/windows/replication-subscri ...
- maven 打包 源代码
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-sourc ...
- Python爬虫常用之登录(一) 思想
爬虫主要目的是获取数据,常见的数据可以直接访问网页或者抓包获取,然后再解析即可. 一些较为隐私的数据则不会让游客身份的访问者随便看到,这个时候便需要登录获取. 一般获取数据需要的是登录后的cookie ...
- appium解决无法通过name属性识别元素org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this session
执行代码.: public AndroidDriver<AndroidElement> appiumDriver; appiumDriver.findElement(By.name(&qu ...
- c# 闲谈异常处理
今天在阅读 .net 源码时发现微软对所有使用枚举类型的地方对枚举值进行了检测,在检测不通过时抛出了异常. , )) { throw new InvalidEnumArgumentException( ...