1.NoSql简介

  NoSql(Not Only Sql)指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场 运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。

常见的NoSql数据库:

CouchDB
Redis
MongoDB
Neo4j
HBase
BigTable

NoSql数据库优缺点:

  • 优势:简单的扩展;快速的读写;低廉的成本;灵活的数据模型
  • 劣势:不提供对SQL的支持;支持的特性不够丰富;现有的产品部够成熟

2.MongoDB简介

  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/

mongodb主要特性:

  • 面向集合存储,易于存储对象类型的数据
  • 模式自由
  • 支持动态查询
  • 支持完全索引,包含内部对象
  • 支持复制和故障恢复
  • 使用高效的二进制数据存储,包括大型对象
  • 文件存储格式为BSON(一种JSON的扩展)

mongodb中的基本概念:

  • 文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行(但是比行要复杂的多)
  • 集合(collection)就是一组文档,如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同表
  • MongoDB的单个实例可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限
  • MongoDB自带简洁但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大
  • 每一个文档都有一个特殊的键"_id",它在文档所处的集合中是唯一的,相当于关系数据库中的表的主键

mongodb数据类型:

数据类型                 描述                                                      举例
null            表示空值或者未定义的对象                                         {"x":null}
布尔值           真或者假:true或者false                                        {"x":true}
32位整数         32位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
64位整数         64位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
64位浮点数       64位浮点数。shell中的数字就是这一种类型                           {}
字符串           UTF-8字符串                                                   {"foo":"bar"}
符号             shell不支持,shell会将数据库中的符号类型的数据自动转换成字符串
对象id           文档的12字节的唯一id                                           {"id": ObjectId()}
日期             从标准纪元开始的毫秒数                                          {"date":new Date()}
正则表达式        文档中可以包含正则表达式,遵循JavaScript的语法                    {"foo":/foobar/i}
代码             文档中可以包含JavaScript代码                                   {"x":function() {}}
未定义           undefined                                                    {"x":undefined}
数组             值的集合或者列表                                               {"arr": ["a","b"]}
内嵌文档          文档可以作为文档中某个key的value                               {"x":{"foo":"bar"}}

3.MongoDB 3.2.9安装

  下载网址:https://www.mongodb.com/download-center?jmp=nav

安装截图

目录结构

bin文件:

  该文件夹放的都是可执行文件、配置文件、动态链接库等,bin是binary的缩写,代表的意思是二进制。因为exe,dll,ocx这些可执行文件都是二进制的,所以文件夹名字采用“bin”,是以前的习惯造成的。

LICENSE-GNU-AGPL-3.0.txt - 轻量级的社会化客户管理系统

介绍得比较详细的文档:http://blog.csdn.net/kk185800961/article/details/45001219

4.MongoDB配置

4.1建立工作目录

(1)建立数据存放目录 D:\ImprtantSoft\MongoDB\MongoDBDATA\data

(2)建立日志文件D:\ImprtantSoft\MongoDB\MongoDBDATA\logs

(3)设置系统变量

  为了方便从控制台中管理mongodb,不用每次都进入到D:MongoDB中。我的电脑--属性--高级--环境变量--系统变量中path:D:\ImprtantSoft\MongoDB\Server\3.2\bin;

4.2启动mongdb服务

  进入控制台,输入mongod --dbpath D:\ImprtantSoft\MongoDB\MongoDBDATA\data

  运行后创建的data空文件下产生了一系列文件:

  或者创建bat文件,bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

双击mongodb.bat如下图:这样服务就启动了(以前的版本)

正常情况下会显示如下:

  在浏览器中输入http://localhost:27017/

  会出现It looks like you are trying to access MongoDB over HTTP on the native driver port.表明服务已经启动,如图所示:

  不要关闭当前这个控制台窗口,另起一个控制台,输入mongo 如下图:表明已成功连接到mongdb.

或者创建bat文件

mongodb27017admin.bat文件中写入mongo 127.0.0.1:27017/admin

直接使用管理员级别,操作等级较高

运行如下:

mongodb27017test.bat文件中写入mongo 127.0.0.1:27017

运行如下:

此时,进入了test用户。

5.MongoDB基本操作

use foobar
show dbs
db.persons.insert({name:”wangchao”})
show collections
db.persons.find()
db.persons.findOne()
var p=db.persons.findOne()
db.persons.update(p,{name:”uspcat”})
db.persons.remove({name:”uspcat”})

运行结果

>mongo
MongoDB shell version:
connecting to: /test
> show dbs
local  .000GB
> use foobar
switched to db foobar
> show dbs
local  .000GB
> db.persons.insert({name:"Raining_wcc"})
WriteResult({  })
> show collections
persons
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "Raining_wcc" }
> db.persons.insert({parterner:"superman"})
WriteResult({  })
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "Raining_wcc" }
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
> db.persons.findOne()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "Raining_wcc" }
> var p = db.persons.findOne()
> p
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "Raining_wcc" }
> db.persons.update(p,{name:"wcc"})
WriteResult({ , ,  })
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "wcc" }
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
> db.persons.insert({name:"supergirl"})
WriteResult({  })
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "wcc" }
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
{ "_id" : ObjectId("57b4057185a1a6b1162384a4"), "name" : "supergirl" }
> db.persons.remove({name:"wcc"})
WriteResult({  })
> db.persons.find()
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
{ "_id" : ObjectId("57b4057185a1a6b1162384a4"), "name" : "supergirl" }
>

本文链接:http://www.cnblogs.com/homewch/p/5779192.html

NoSql之MongoDB--Windows下数据库配置及初步使用的更多相关文章

  1. Windows下安装配置MongoDB

    Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...

  2. (转)NoSQL——Redis在win7下安装配置的学习一

    NoSQL——Redis在win7下安装配置的学习一   有些也是从网上看来的 1.下载安装 Redis它没有windows的官方版本,但是又非官方的版本,到官网上去下载相应的版本,我的电脑是win7 ...

  3. Oracle 11g即时客户端在windows下的配置

    Oracle 11g即时客户端在windows下的配置 by:授客QQ:1033553122 instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例 步骤 1. 假 ...

  4. windows下mysql配置

    windows下mysql配置   忙活了大半天,总算配置好了,本文献给windows下没试用过Mysql的小白,勿喷 http://blog.csdn.net/z1074907546/article ...

  5. Windows下MySQL配置及安全加固总结

    Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...

  6. Windows下安装配置免安装MySQL5.7服务器

      Windows下安装配置免安装MySQL5.7服务器 1.下载.解压安装包 从MySQL官方网站上下载mysql-5.7.19-winx64.zip 下载完成后,把安装包解压到D:\DevSoft ...

  7. [转帖]Windows 下如何配置Oracle ASM???

    Windows 下如何配置Oracle ASM??? candon123关注10人评论16725人阅读2011-02-09 21:40:57   本篇介绍了如何在windows下创建裸设备,并创建AS ...

  8. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  9. 在windows下安装配置Ulipad

    在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便. Ulipad下载地址: https://github.com/limodou ...

随机推荐

  1. 蜥蜴(bzoj 1066)

    Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平 ...

  2. printf 与c的基本类型之间的关系

    型 書式 注意事項 ssize_t %zd size_t %zu intmax_t %jd uintmax_t %ju ptrdiff_t %t signed char %hhd unsigned c ...

  3. Java使用正则表达式解析LRC歌词文件

    LRC歌词是一种应用广泛的歌词文件,各主流播放器都支持. lrc歌词文本中含有两类标签: 1.标识标签(ID-tags) [ar:艺人名] [ti:曲名] [al:专辑名] [by:编者(指编辑LRC ...

  4. Oracle数据库备份与还原操作具体步骤

    Oracle数据库导出操作 导入导出都要进行目录创建与授权. 在pl/sql里面编写也可以 select * from dba_directories(这个是查看创建的目录) drop directo ...

  5. markdown编辑器使用建议

    markdown在线编辑器: https://stackedit.io/editorhttp://dillinger.io/ windows 下建议使用 MarkdownPad linux 下建议使用 ...

  6. Python 打包程序判断是否已经运行

    代码如下: # -*- coding: UTF8 -*- from win32com.client import Dispatch import win32com import sys, os fro ...

  7. Java代码实现excel数据导入到Oracle

    1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码   import java.io.File; import java.io.Fi ...

  8. Win10 AppBar

    <Page.BottomAppBar> <CommandBar x:Name="cmdBar" Background="Transparent" ...

  9. C++ find 函数用法

    头文件 #include <algorithm> 函数实现 template<class InputIterator, class T> InputIterator find ...

  10. dwz的form表单中url的变量替换

    form表单中action的地址格式 “__URL__/edit/{xxx}”,大括号内的 “xxx” 就是变量名,主要功能是结合table组件一起使用. 下图中的删除.编辑.修改密码都是用了url变 ...