MongoDB入门教程(一)

MongoDB简介

MongDB是一个高性能,开源,无模式的文档型NosQL数据库。

主要功能特性:

1.文件存储格式BSON(一种json的扩展)

2.模式自由

数据格式不受限了表的结构

3.支持动态查询

4.支持完全索引

5.支持复制(其主从复制)和故障恢复

6.使用高效的二进制数据存储,包括大型对象

7.自动处理碎片,以支持云计算层次的扩展。

8.支持Java、Ruby、Python、C++、PHP等多种语言

9.内部支持Javascript

MongoDB的优势

1.查询速度快

2.高并发。可以达到2万个并发。

3.高容量。支持10TB意思的数据量

MongoDB使用场景

1.网站数据

2.缓存

3.大尺寸、低价值的数据

4.高伸缩的场景

5.用于对象以及Json数据存储

MongoDB限制

1.在32位操作系统上,不支持大于2.5G的数据

2.单个文件大小限制16M

3.高度事务的系统

4.传统商业智能应用

MongoDB与其他数据库区别

MongoDB安装

在这里,主要讲解的是win下安装,关于Linux下安装,随后会添加上。

下载网址:官方网站(https://www.mongodb.org/downloads/#production

在这里使用的是win32

笔者下载老长时间才下完,估计是个人网速问题,

安装好之后,安装目录下,发现有如下目录

配置path路径[可选]

配置path路径目的便于,直接可以再命令提示符输入mongoDB命令,不需要每次在切换到mongoDB的bin目录。在[我的电脑]右键,选择[属性]=>[高级系统设置]=>[高级]=>[环境变量设置]=>系统变量里面的[path]修改,添加mongoDB的bin目录,我添加的目录是’C:\Program Files\MongoDB\Server\3.2\bin’

操作步骤截图如下:

启动MongDB服务端

参照官方网站:https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#install-mongodb-community-edition

启动MongDB步骤如下

设置MongDB执行环境

官方原话如下:

Set up the MongoDB environment

1.MongoDB requires a data directory to store all data. MongoDB’s default data directory path is \data\db. Create this folder using the following commands from a Command Prompt:

md \data\db

mongoDB需要指定一个目录来存储数据。在win下在命令提示中,你可以使用md命令创建目录。在此,我将创建一个data目录和log目录,分别用于存放数据和日志。吐槽一下,感觉win下创建目录确实没有linux下方便。

此时该目录下创建目录如下

启动mongoDB(针对服务端)

官方原话如下:

To start MongoDB, run mongod.exe. For example, from the Command Prompt:

C:\mongodb\bin\mongod.exe

This starts the main MongoDB database process. The waiting for connections message in the console output indicates that the mongod.exe process is running successfully.

就是我们通过mongod.exe来启动mongoDB,启动了MongoDB主数据进程,如果出现等待连接的消息,则暗示着mongod.exe进程正在成功运行着。

好了,现在我们开始启动了。

启动命令如下:

mongod.exe --dbpath="C:\Program Files\MongoDB\Server\data" --logpath="C:\Program Files\MongoDB\Server\log\mongodb.log" --port=27017

如果没有配置mongoDB的path目录,需要先切换到mongoDB的bin目录下或是使用C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe去执行。

解析:dbpath指定数据存放目录,可自行指定

logpath指定日志路径,可以自行指定

port指定端口号,默认的是27017

此时既然爆出如下错误

也就是说32位系统默认情况下没有开启日志记录功能,请使用–journal开启。

但是当我进入C:\Program Files\MongoDB\Server\log目录下时候,发现有日志,其内容如下:

016-04-28T21:42:47.003+0800 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-04-28T21:42:47.071+0800 I CONTROL  [initandlisten] MongoDB starting : pid=17916 port=27017 dbpath=C:\Program Files\MongoDB\Server\data 32-bit host=YEGZT8JOIIU2LKY
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] targetMinOS: Windows Vista/Windows Server 2008
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] db version v3.2.5
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] git version: 34e65e5383f7ea1726332cb175b73077ec4a1b02
2016-04-28T21:42:47.072+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten] modules: none
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten] build environment:
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten]     distarch: i386
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten]     target_arch: i386
2016-04-28T21:42:47.073+0800 I CONTROL  [initandlisten] options: { net: { port: 27017 }, storage: { dbPath: "C:\Program Files\MongoDB\Server\data" }, systemLog: { destination: "file", path: "C:\Program Files\MongoDB\Server\log\mongodb.log" } }
2016-04-28T21:42:47.090+0800 I STORAGE  [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine ‘wiredTiger‘ is not available with this build of mongod. Please specify a different storage engine explicitly, e.g. --storageEngine=mmapv1., terminating
2016-04-28T21:42:47.090+0800 I CONTROL  [initandlisten] dbexit:  rc: 100

这日志记录的跟,命令提示中提示的还不一样啊,怎么办?因为命令提示中,提示是因为日志没有开启造成的错误,而日志说引擎不合适。只能先一个尝试一下。那我不添加日志,执行如下命令

mongod.exe --dbpath="C:\Program Files\MongoDB\Server\data" --port=27017

通过这个提示,看来这次确定了,是默认存储引擎不支持了。只好换一个引擎。执行如下命令:

mongod.exe --dbpath="C:\Program Files\MongoDB\Server\data"  --logpath="C:\Program Files\MongoDB\Server\log\mongodb.log" -storageEngine="mmapv1" --port=27017  --journal

执行结果如下:

一直在等待连接中,此时我查看了一些log日志

看来是启动了。当然也可以在浏览器中输入http://localhost:27017 如果出现如下界面,代码安装成功。

连接MongoDB(针对客户端)

官方原话如下:

Connect to MongoDB.?

To connect to MongoDB through the mongo.exe shell, open another Command Prompt.

C:\mongodb\bin\mongo.exe

If you want to develop applications using .NET, see the documentation of C# and MongoDB for more information.

要想连接MongoDB,需要打开另外一个命令提示符窗口,通过mongo.exe来建立连接。如果要使用 .NET开发应用,需要查看C#文档和其他MongoDB手册,来获取更多信息。

说白了,就是客户端通过mongo.exe来连接mongoDB。其实直接输入mongo也一样,当然我这里面出现了一些警告信息,暂时可以不去理会。

客户端连接mongoDB方式如下(里面的mongoDB也可以换成mongo.exe)

常用命令

1.db.help()

查看命令提示

2.db

查看当前所在数据库的名字

3.use命令

use+数据库名 表示切换或是创建数据库。和Mysql中use的唯一不同点,就是当数据库不存在的时候,MongoDB中的use可以创建数据库。

4.show dbs

显示数据库,需要注意的是show dbs,只会显示有数据的库,没有数据的库,是不会显示的。下图中,dqs数据库中,开始没有数据,所以不会显示,当我插入一条数据库后,show dbs 就会显示它。

5.db.dropDatabase()

删除当前数据。

删除之前

执行删除操作,删除之后,当前库不变化。

删除之后,数据库文件也没有了。

6.db.stats()

查看当前数据的状态

7.db.version()

查看mongoDB版本

8.db.getMongo()

查看当前连接机器的ip

9.mongoDB对支持JavaScript

因为mongoDB支持JavaScript,所以可以直接在命令提示中输入js代码。如下图

时间: 2024-11-05 18:55:09

MongoDB入门教程(一)的相关文章

MongoDb 入门教程

MongoDb 入门教程 目录 MongoDb的基本数据结构 安装MongoDb服务器 连接MongoDb服务器 MongoDb创建数据库 MongoDb创建表 MongoDb插入数据 MongoDb查询数据 范围操作符 AND操作符 OR操作符 排序 聚合 MongoDb更新数据 MongoDb删除数据 常用的DDL命令 MongoDb图形化工具 总结 参考资料 MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的高性能数

.NET平台下使用MongoDB入门教程

适合人群:完全没有接触MongoDB或对MongoDB有一点了解的C#开发人员.因为本文是一篇入门级的文章. 一.了解MongoDB  MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似js

MongoDB入门教程一[文档与集合]

MongoDB 是面向集合存储的文档型数据库,其涉及到的基本概念与关系型数据库相比有所不同.举个例子,在关系型数据库中,我们记录一个订单的信息,通常是这样设计表结构的: 设计一个订单基本信息表和一个订单明细表,1个订单有N个订单明细,这些订单明细通过外键关联到订单主表,所以要存储一个订单的信息,需要“1+N”条记录.在MongoDB中将订单基本信息和该订单的所有订单明细信息通过嵌套的json格式组织起来,保存为1个文档.也就是说在关系型数据库中需要“1+N”条记录存储的数据,MongoDB保存为

MongoDB入门教程三[数据类型]

MongoDB的文档使用BSON(Binary JSON)来组织数据,BSON类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null.布尔.数字.字符串.数组及对象),不能完全满足复杂业务的需要,因此,BSON还提供日期.32位数字.64位数字等类型.以下对mongoDB的类型进行简要说明: 1. Null[类型编号:10] null类型用于表示空值或不存在的字段,如:{“x”:null} 2. 布尔类型 Boolean[类型编号:8] 布尔类型有两上值,’true

MongoDB入门教程二[MongoDB Shell 简介与使用]

MongoDB Shell 是MongoDB自带的JavaScript Shell,随MongoDB一同发布,它是MonoDB客户端工具,可以在Shell中使用命令与MongoDB实例交互,对数据库的管理操作(CURD.集群配置.状态查看等)都可以通过MongoDB Shell来完成. 今天介绍MongoDB的一些基本命令和小技巧: 1.利用help查看帮助: 输入:“db.user.find().help();”查看find()的帮助信息 2.基本命令: 连接/切换数据库       例如:u

MongoDB入门教程(二)

上一篇博文中,我详细描述了从MongoDB简介到安装,在本节,主要从整体角度去看MongoDB. MongoDB的数据架构 官方是这样描述的 MongoDB stores all documents in collections. A collection is a group of related documents that have a set of shared common indexes. Collections are analogous to a table in relatio

MongoDB入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)【转载】

一.安装和配置 MongoDB 的官方下载站是 http://www.mongodb.org/downloads,可以去上面下载最新的安装程序 Windows 平台的安装 ● 步骤一: 下载 MongoDB     点击上方官方下载地址, 并下载 Windows 版本 ● 步骤二: 设置 MongoDB 程序存放目录     下载完成后, 解压到自定义文件夹,例: D:\mongodb\ ● 步骤三: 设置数据文件存放目录     在 D:\mongodb\ 目录下创建 db 和 logs 文件

Mongodb最基础入门教程

Mongodb最基础入门教程 如果想了解一下redis的入门教程,可以去看一下我的上一篇博客 Mongodb的安装大家可以参考一下其他博主的博客,这里我就不做介绍了.不过值得注意的是,在Linux版本中如果启动mongodb的时候出现下面这个错误(在windows版本中不会出现下面的问题): mongod: /usr/lib/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by mongod) 原因是因为mongodb启动需要

MongoDB快速入门教程 (3.2)

3.2.索引 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,建立索引,通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录,这种扫描全集合的查询效率是非常低的,特别是在数据量特别大的时候,话费的时间就非常的多 举个例子:目前我的一个集合中有170多万条数据,我们在没有建立索引的情况下测试一下查询时间 db.course.find({"name": "mongodb入门8888"})