NoSql(Not Only Sql)指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场 运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。
CouchDB Redis MongoDB Neo4j HBase BigTable
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是: http://www.mongodb.org/ 。
数据类型 描述 举例
null 表示空值或者未定义的对象 {"x":null}
布尔值 真或者假:true或者false {"x":true}
32位整数 32位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
64位整数 64位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
64位浮点数 64位浮点数。shell中的数字就是这一种类型 {"x":3.14,"y":3}
字符串 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"}}
下载网址: 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
(1)建立数据存放目录 D:/ImprtantSoft/MongoDB/MongoDBDATA/data
(2)建立日志文件D:/ImprtantSoft/MongoDB/MongoDBDATA/logs
(3)设置系统变量
为了方便从控制台中管理mongodb,不用每次都进入到D:MongoDB中。我的电脑--属性--高级--环境变量--系统变量中path:D:/ImprtantSoft/MongoDB/Server/3.2/bin;
进入控制台,输入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用户。
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 127.0.0.1:27017
MongoDB shell version: 3.2.9
connecting to: 127.0.0.1:27017/test
> show dbs
local 0.000GB
> use foobar
switched to db foobar
> show dbs
local 0.000GB
> db.persons.insert({name:"Raining_wcc"})
WriteResult({ "nInserted" : 1 })
> show collections
persons
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "Raining_wcc" }
> db.persons.insert({parterner:"superman"})
WriteResult({ "nInserted" : 1 })
> 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({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "wcc" }
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
> db.persons.insert({name:"supergirl"})
WriteResult({ "nInserted" : 1 })
> db.persons.find()
{ "_id" : ObjectId("57b4044e85a1a6b1162384a2"), "name" : "wcc" }
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
{ "_id" : ObjectId("57b4057185a1a6b1162384a4"), "name" : "supergirl" }
> db.persons.remove({name:"wcc"})
WriteResult({ "nRemoved" : 1 })
> db.persons.find()
{ "_id" : ObjectId("57b404d285a1a6b1162384a3"), "parterner" : "superman" }
{ "_id" : ObjectId("57b4057185a1a6b1162384a4"), "name" : "supergirl" }
>