NoSql之MongoDB--Windows下数据库配置及初步使用
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下数据库配置及初步使用的更多相关文章
- Windows下安装配置MongoDB
Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...
- (转)NoSQL——Redis在win7下安装配置的学习一
NoSQL——Redis在win7下安装配置的学习一 有些也是从网上看来的 1.下载安装 Redis它没有windows的官方版本,但是又非官方的版本,到官网上去下载相应的版本,我的电脑是win7 ...
- Oracle 11g即时客户端在windows下的配置
Oracle 11g即时客户端在windows下的配置 by:授客QQ:1033553122 instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例 步骤 1. 假 ...
- windows下mysql配置
windows下mysql配置 忙活了大半天,总算配置好了,本文献给windows下没试用过Mysql的小白,勿喷 http://blog.csdn.net/z1074907546/article ...
- Windows下MySQL配置及安全加固总结
Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...
- Windows下安装配置免安装MySQL5.7服务器
Windows下安装配置免安装MySQL5.7服务器 1.下载.解压安装包 从MySQL官方网站上下载mysql-5.7.19-winx64.zip 下载完成后,把安装包解压到D:\DevSoft ...
- [转帖]Windows 下如何配置Oracle ASM???
Windows 下如何配置Oracle ASM??? candon123关注10人评论16725人阅读2011-02-09 21:40:57 本篇介绍了如何在windows下创建裸设备,并创建AS ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- 在windows下安装配置Ulipad
在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便. Ulipad下载地址: https://github.com/limodou ...
随机推荐
- 解决spring+shiro cacheManager 登录报错
一.项目启动,登录报错 org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' ...
- MAC下GitHub命令操作
由于GitHub实在太有用了~~ ,各种源代码,开源工程,经常需要下载下来使用和学习,或者自己的代码需要上传之类的,尽管有"GitHub for Mac"工具,但是作为一名程序猿! ...
- Android -- getQuantityString无效
原文:http://www.xuebuyuan.com/1510993.html 原因:中文没有复数语法.
- 列出zip文件内全部内容 当前目录下的所有文件压缩成zip格式的文件(file.zip)
[root@ok Desktop]# zip -r image.zip ./*.jpg adding: 20161007_113743.jpg (deflated 0%) adding: 201610 ...
- SQLAlchemy Core中的异常及事务处理样码
这部门内容比较简单,立存. #coding=utf-8 from datetime import datetime from sqlalchemy import (MetaData, Table, C ...
- android 面试题
一,什么是OOM (1)先从定义开始:Android(Java)中常见的容易引起内存泄漏的不良代码Android主要应用在嵌入式设备当中,而嵌入式设备由于一些众所周知的条件限制,通常都不会有很高的配置 ...
- WPF PRISM开发入门一( 初始化PRISM WPF程序)
这篇博客将介绍在WPF项目中引入PRISM框架进行开发的一些基础知识.目前最新的PRISM的版本是Prism 6.1.0,可以在Github上获取PRISM的源码.这个系列的博客将选择PRISM 4. ...
- hdu 4273 2012长春赛区网络赛 三维凸包中心到最近面距离 ***
新模板 /* HDU 4273 Rescue 给一个三维凸包,求重心到表面的最短距离 模板题:三维凸包+多边形重心+点面距离 */ #include<stdio.h> #include&l ...
- hdu 4025 2011上海赛区网络赛E 压缩 ***
直接T了,居然可以这么剪枝 题解链接:点我 #include<cstdio> #include<map> #include<cstring> #define ll ...
- [Oracle] PL/SQL学习笔记
-- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...