官方说明文档:https://docs.mongodb.com/manual/mongo/

1 NoSQL 简介

NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库(相对于关系型数据库RDBMS)。这类数据库主要有这些特点:非关系型的、分布式的、开源的、水平可扩展的。

NOSQL数据库相对于关系型数据库主要解决的问题包括:

l  对数据库高并发读写的需求(High performance)

l  对海量数据的高效率储存和访问的需求(Huge Storage)

l  对数据库的高扩展性和高可用性的需求(High Scalability&&High vailability)

2 MongoDB 基础知识

mongoDB是一种开源的文档数据库系统,开发语言为C++。它提供了一种高效的面向文档的存储结构,同时支持通过MapReduce程序来处理所存储的文档;它的扩展性很好,而且支持自动分区。Mapreduce可以用来实现数据聚合。它的数据以BSON(二进制JSON)格式存储,在存储结构上支持动态schema,并且允许动态查询。和RDBMS的SQL查询不同,Mongo查询语言以JSON表示。

MongoDB是一个面向集合的,模式自由的文档型数据库。

面向集合Collenction-Orented,是指数据被分组存储在数据集中,每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。类似关系型数据库RDBMS里的表(table,不同的是它不需要定义任何模式schema)

模式自由schema-free)意味着对于存储在MongoDB 数据库中的文件,我们不需要知道它的任何结构定义。

文档型,存储的数据是键-值对的集合,键是字符串,值可以是数据类型集合里的任意类型, 这种数据格式被称作 “BSON” 即 “Binary Serialized dOcumentNotation.”

2.1 数据逻辑结构

²  MongoDB 的文档(document),相当于关系数据库中的一行记录。

²  多个文档组成一个集合(collection),相当于关系数据库的表。

²  多个集合(collection),逻辑上组织在一起,就是数据库(database)。

²  一个MongoDB 实例支持多个数据库(database)。

逻辑结构对比

MongoDB

SQL

文档(document

行(row)

集合(collection

表(table)

数据库(database

数据库(database)

2.2 数据库的安装、启动和关闭

数据库的安装很简单,一路next即可。

数据库的启动:默认端口27017,默认HTTP端口28017

(在环境变量中创建path路径C:\Program Files\MongoDB\Server\3.2\bin,这样可以在C:\workspace路径下命令行打开,不用输储存数据路径)

l  命令行方式启动

在安装路径bin目录下下打开命令行,输入下列语句:

C:\Program Files\MongoDB\Server\3.2\bin>mongod dbpath C:\workspace\database

l  配置文件打开:

一般数据库启动时会有很多参数,为了方便,可以把配置参数放入配置文件然后打开。

  1. 在bin目录下创建一个mongodb.cnf文件,文件内容如下:

dbpath = C:\workspace\database

  1. 在bin目录下的命令行中输入下列命令:
C:\Program Files\MongoDB\Server\3.2\bin>mongod -f mongodb.cnf

l  Daemon方式打开(只能在Linux中使用,我们使用创建window服务方法代替)

(Daemon程序是一直运行的服务器程序,被称为守护进程,通常作为系统服务在后台运行,没有终端,不能和前台交互,在系统开启时启动在系统关闭后关闭)

在上两种方式中都需要打开一个命令行窗口,一旦窗口关闭,服务随之停止。所以为了使服务在窗口关闭之后能继续使用,我们可以添加一个fork参数。需要注意的是在添加fork参数的同时应该添加logpath参数,这是强制性的。

C:\Program Files\MongoDB\Server\3.2\bin>mongod dbpath  C:\workspace\database fork logpath C:\workspace\database\log\r3.log

同上文标注的一样,这种方法实际上只能在Linux系统中使用,windows系统中无法使用这种方法,但是作为一种变通,我们可以将mongoDB作为windows服务来启动。

方法如下:

  1. 1.       首先在C:\workspace路径下创建databaselog文件夹,在log文件夹下创建mongo.log文件
  2. 在bin目录下打开命令行输入下列语句
  3. 在创建服务成功后,在命令行中继续输入
C:\Program Files\MongoDB\Server\3.2\bin> mongod -dbpath c:\workspace\database --logpath c:\workspace\log\mongo.log --install --serviceName "MongoDB"
C:\Program Files\MongoDB\Server\3.2\bin>net start mongodb

可以看到命令行中打印出来mongoDB服务已经启动成功。

数据库的关闭:

如果使用的是前两中的数据库启动方法

  1. 在命令行窗口下按ctrl+C
  2. 在命令行窗口中输入指令db.shutdownServer()
C:\Program Files\MongoDB\Server\3.2\bin>db.shutdownServer()

使用windows服务启动的方法

  1. 关闭服务,在bin目录下打开命令行输入

C:\Program Files\MongoDB\Server\3.2\bin>net stop mongodb

  1. 删除服务,在bin目录下打开命令行输入

C:\Program Files\MongoDB\Server\3.2\bin> mongod -dbpath c:\workspace\database --logpath c:\workspace\log\mongo.log --remove --serviceName "MongoDB"

  1. 输入启动命令可以看到命令行中打出 “服务名无效的提示”

2.3数据库的访问控制

访问控制一般是考虑到安全方面的因素,在开发环境中通常不用设置,但在生产环境中需要仔细考虑。访问控制包含三个方面:IP绑定,设置监听端口,使用用户名和口令登陆

l  绑定IP内网地址

添加一个bind_ip参数即可实现绑定

>mongod --bind_ip 114.114.114.114 -dbpath D:\mongoDB\data

在绑定内网后,客户端访问时必须输入服务端的ip,否则报错,如

>mongo 172.168.18.11

l  设置监听端口

官方默认的端口为27017,为了避免恶意连接,可以修改端口,添加-port参数

>mongod --bind_ip 114.114.114.114port 28018 -dbpath D:\mongoDB\data

同样客户端在访问时需要添加端口号

>mongo 172.168.18.11:28018

l  使用用户名和密码登录

在服务端启动时添加auth参数即可开启登陆验证模块

> mongod -dbpath D:\mongoDB\data -auth

但是,如果我们的admin.system.users中没有添加任何用户时,登陆验证模块是没有用的,直到我们添加了一个用户。

> db.addUser("root","111")

这时,我们输入命令查看验证

> db.auth("root","111")

这时如果我们如果想操作数据库就需要输入用户名和密码了

> mongou root -p

3 MongoDB的操作

下面的所有操作都需要在启动mongoDB服务的情况下进行,同时这些操作都可以使用图形化工具运行,这里使用的是robomongo工具。

3.1 连接数据库

如果我们想进入数据库后台管理部分,我们需要进入bin目录下,打开命令行输入mongo命令:

C:\Program Files\MongoDB\Server\3.2\bin>mongo

命令行会提醒connect  to本地数据库中的test数据库。

3.2 创建和删除数据库

假设我们创建一个名为Sample的数据库,输入use Sample命令

>use Sample

我们可以使用show dbs命令查看所有的数据库

>show dbs

这时并没有发现我们新建的数据库,这是因为新建的数据库没有数据,我们需要向里面插入数据才会显示,我们插入一段数据:

>db.Sample.insert({name:"Sample"})

然后在show dbs命令下就能看到我们新建的数据库了

同时,如果我们需要切换数据库,我们也可以使用use+数据库名的命令

如果我们想要删除这个数据库,我们可以使用db.dropDatabase()命令

  1. 首先使用show dbs命令显示所有的数据库

>show dbs

  1. 使用use命令指向这个数据库

>use Sample

  1. 使用db.dropDatabase命令删除这个数据库

>db.dropDatabase()

注意事项:有些数据库的名称是保留的,可以直接访问

admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

3.3文档的增删改查

假如我们对Sample数据库进行增删改查的操作,首先使用use命令定位到该数据库。

文档的插入:db.Sample.insert(),括号里面是插入的内容

>db.Sample.insert({name:"Sample"})

也可以先用变量定义文档内容,然后直接插入,如:

>document = {title:Sample}

>db.Sample.insert(document)

文档的查看:db.Sample.find()

> db.Sample.find()

这个方法返回的是一串非结构化的数据

通常我们可以使用db.Sample.find().pretty()方法来返回结构化数据

find方法里面可以插入参数来作为查找条件.

  1. 1.  AND条件:db.Sample.find({key1:value1,key2:value2}).pretty()
  2. 2.  OR条件:db.Sample.find({$or:{key1:value1,key2:value2} }).pretty()
  3. 3.  ANGOR条件同时使用:

db.Sample.find({

key1:value1, $or:{key1:value1,key2:value2}

}).pretty()

l  文档的更新:

1.    使用update方法:    db.Sample.update(),前面的是查询的条件,后面的是替换的内容

> db.Sample.update({name:"Sample"},{$set:{name:"Samples"}})

Update()函数主要是用于已经存在数据的更新,下面介绍了他的参数及各个参数的作用。

db.Sample.update(
   <query>,       //查询条件
   <update>,      //更新的对象及操作符
   {
     upsert: <boolean>,  //可选 truefalse,如果值不存在判断是否插入
     multi: <boolean>,   //可选 truefalse,默认为false,只更新找到的第一个记录,true为更新找到的全部记录
     writeConcern: <document>   //可选 抛出异常的级别
   }
)

2. 使用save()方法通过传入新的文档来替代原有文档

> db.Sample.save(document{ writeConcern: <document>})

l  文档的删除操作

建议:在执行删除操作前先用find()方法来判断条件是否正确

使用remove()方法:

> db.Sample.remove({name:"Sample"})

db.collection.remove(
   <query>,   //查询条件
   {
     justOne: <boolean>, //可选,true为只删除一条数据
     writeConcern: <document>   //可选,抛出异常的级别
   }
)

3.4 操作符与limitskip方法

数据库的操作符包括条件操作符和$type操作符

条件操作符

格式

含义

格式

含义

$gt

大于(>

$gte

大于等于(>=

$lt

小于(<

$lte

小于等于(<=)

使用方法如下:

查找number值大于100的文档

> db.Sample.find({number:{$gt:10}})

查找number值大于100小于200的文档

> db.Sample.find({number:{$gt:10$lt:20}})

$type操作符

此方法是根据BSON数据格式来检索集合中匹配的数据,格式如下:

> db.Sample.find({number:{$type:2}})

$type的值是跟表中类型对应的数字。如下

类型

数字

备注

Double

1

String

2

Object

3

Array

4

Binary data

5

Undefined

6

已废弃。

Object id

7

Boolean

8

Date

9

Null

10

Regular Expression

11

JavaScript

13

Symbol

14

JavaScript (with scope)

15

32-bit integer

16

Timestamp

17

64-bit integer

18

Min key

255

Query with -1.

Max key

127

类型

数字

备注

Double

1

String

2

Object

3

Array

4

Binary data

5

Undefined

6

已废弃。

Object id

7

Boolean

8

Date

9

Null

10

Regular Expression

11

JavaScript

13

Symbol

14

JavaScript (with scope)

15

32-bit integer

16

Timestamp

17

64-bit integer

18

Min key

255

Query with -1.

Max key

127

Limit()方法:限制查找到数据的个数

> db.Sample.find().Limit(3)

限制查找到数据的值为三个

Skip()方法:跳过制定数量的数据

> db.Sample.find().skip(3)

查找到的数据跳过3

$exists方法:查找字段是否存在

> db.Sample.find({number:{$exists:true}})

这种方法可以用来判断数据值为null还是不存在。例如查找rollbackTime类的值为null的文档

> db.Sample.find({rollbackTime:{$in:[null],$exists:true}})

其中$in为查找内容(include的缩写),必须是数组

$mod方法:取模运算

> db.Sample.find({number:{$mod:[5,0]}})

查找number中模50的值

$ne方法:不等于

> db.Sample.find({number:{$ne:11}})

查找number中不等于11的值

$in方法:包含

> db.Sample.find({number:{$in:[11,12]}})

查找number中等于11,12的值

$nin方法是同样的用法,意为不包含

$size方法:数组元素的格式

> db.Sample.find({something:{$size:3}})

查找something中数组长度为3的项

对指定字段进行排序

> db.Sample.find().sort({number:1})

根据number字段进行排序,1代表正序,-1代表倒序

3.5 正则表达式匹配

MongoDB数据库的查询用到的是js的语法,所以可以使用正则表达式进行匹配

> db.Sample.find ({reason:{$not:/^h.*/}})

查找reason中不以h开头的项

3.6数据库的索引和聚合

索引(涉及性能优化部分)

索引是一种特殊的数据结构,存在一个易于读取的数据结构中,它是对数据库中一个或多个值进行排序的一种结构,创建索引的格式如下:

> db.Sample.ensureIndex({key1:1key2-1})

Key为要创建的索引字段,1代表的是按升序创建,2代表降序创建

Parameter

Type

Description

background

Boolean

建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 "background" 可选参数。 "background" 默认值为false

unique

Boolean

建立的索引是否唯一。指定为true创建唯一索引。默认值为false.

name

string

索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。

dropDups

Boolean

在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为 false.

sparse

Boolean

对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false.

expireAfterSeconds

integer

指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。

v

index version

索引的版本号。默认的索引版本取决于mongod创建索引时运行的版本。

weights

document

索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。

default_language

string

对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语

language_override

string

对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language.

例如我们创建一个索引

> db.Sample.ensureIndex({number:1})

如果我们想在后台创建索引的话,只需要加个参数background:true

> db.Sample.ensureIndex({number:1},{background:true})

查看已创建的索引

> db.Sample.getIndexes()

数据库聚合方法(mapReduce,进行并行统计

聚合的方法主要是用来处理数据(如求平均值,求和等),并返回处理结果

> db.Sample.aggregate([options])

这个方法里面使用了管道的概念,即将当前命令的结果作为下个命令的参数

表达式

描述

$sum

计算总和

$avg

计算平均值

$min

获得文档对应值中最小值

$max

获得文档对应值中最大值

$push

在结果文档中插一个值到数组中

$addToSet

在结果文档中插入一个值到数组中

$first

根据排序获得第一个文档数据

$last

根据排序获得最后一个文档数据

聚合框架中常用的几个操作:

$project

修改输入文档的结构,可以用来重命名增加或删除与,也可以用于创建计算结果以及嵌套文档

$match

用于过滤数据,只输出符合条件的文档

$limit

用来限制MongoDB聚合管道返回的文档数

$skip

在聚合管道中跳过制定数量的文档,并返回余下的文档

$unwind

将文档中的某一个数组类型子墩拆分,每条包含数组中的一个值

$group

将集合中的文档分组,用于统计结果

$sort

将输出文档排序后输出

$geoNear

输出接近某一地理位置的文档

例如:

> db.Sample.aggregate(([{$match:{number:{$gte:5,$lte:16}}},{$skip:1},

{$project:{_id:0,devSN:1}}]))

其中聚合操作先匹配number值大于5小于16,在得出的结果中跳过第一个,执行下面的修改文档结构工作

3.7其他操作

l  Count查询记录的条数

在find后面加上count方法可以显示查找到的数据的个数,比如

> db.Sample.find ({reason:{$not:/^h.*/}}).count()

l  Skip可以用来限制返回记录的起点

> db.Sample.find().skip(2).limit(3)

表示查询到的数据跳过两条,显示三条

l  查看活动进程,了解系统正在干什么

> db.currentOp()

显示结果中参数的含义:

Opid

操作进程号

Op

操作类型(查询,更新等)

Ns

命名空间,指操作对象

Query

显示查询操作中的具体内容

lockType

指明是读锁还是写锁

l  结束进程

> db.killOp(1234)

1234为opid

4存储过程

MongoDB支持储存过程,并且可以在储存过程中自定义处理数据,使用的是JavaScript语法。数据库的存储过程是在db.system.js表里面的。方法如下:

  1. 首先将自定义的方法转化为存储过程

> db.system.js.save({_id:"get_counts",value:function(){return db.Sample.count();}})

这里添加了一个get_counts的方法,value的值就是方法的具体内容,可以使用find方法查看过程是否被储存

> db.system.js.find()

  1. 使用eval函数来调用自定义的方法(eval函数里面也可以直接定义并调用方法)

> db.eval('get_counts')

5 GridFS:MongoDB存储大型文件的规范

由于MongoDB中BSON对象的大小是有限制的,所以采用GridFS规范来将一个大文件分隔成多个小文件,使得数据库可以存储视频,高清图片之类的大文件。这个规范支持Java,Perl,PHP,Python,Ruby等程序

5.1 简介

GridFS使用两个表来存储数据:

  1. files包含元数据对象
  2. chunks包含相关信息的二进制块

为保证多个GridFS命名为一个单一的数据库,文件和块都有一个前缀,默认为fs,所以任何的GridFS存储都会包括fs.files和fs.chunks。前缀fs可以被修改。

5.2 使用方法

我们以存入一个pdf文档为例,

C:\Program Files\MongoDB\Server\3.2\bin>mongofiles -d Sample put Redis.pdf

-d参数指定的是数据库名称,如果没有,会自动增加一个名为test的数据库。

我们可以查看一下数据库中有哪些GridFS文件

C:\Program Files\MongoDB\Server\3.2\bin>mongofiles list

同时也可以使用find命令查看文件内容

C:\Program Files\MongoDB\Server\3.2\bin>db.fs.files.find()

6 Mapreduce计算模型

将大批量的工作分解(MAP)执行,再将结果合并(reduce)成最终的结果。可以用来构建大型的复杂的聚合查询

它命令的基本语法是:

>db.collection.mapReduce(
   function() {emit(key,value);},  //map 函数
   function(key,values) {return reduceFunction},   //reduce 函数
   {
      out: collection,//统计结果存放集合,不指定则使用临时集合
      query: document,//筛选条件
      sort: document,//排序函数
      limit: number//限制发往map函数的文档数量
   }
)

例如:我们现在要找到number值相同的_id

  1. 1.  首先写map函数

> var m=function(){emit(this.number ,this._id);};

其中_id是要统计的数据,number为分组的依据,map函数实现的是分组功能

  1. 2.  编写reduce函数

> var r=function(key,values){var ret={ _id:key, number:value};return ret;};

这里reduce函数处理分组后的数据

  1. 3.  编写finalize函数

> var f=function(values,rval){if(value!=0){rval.msg="success";}return rval};

f函数用来做最后的处理

  1. 4.  运行函数

>  db.runCommand({mapreduce:"Sample",map:m,reduce:r,finalize:f})

  1. 5.  使用find函数来查询处理后的结果

> db.Sample.find()

结果参数:

result:储存结果的collection的名字,这是个临时集合,MapReduce的连接关闭后自动就被删除了。

timeMillis:执行花费的时间,毫秒为单位

input:满足条件被发送到map函数的文档个数

emit:在map函数中emit被调用的次数,也就是所有集合中的数据总量

ouput:结果集合中的文档个数count对调试非常有帮助)

ok:是否成功,成功为1

 

7 MongoDB工具

MongoDB数据库暗转目录下有几个工具可以进行导入导出及备份恢复的功能。

包括:

mongo.exe    客户端程序,连接MongoDB

mongod.exe  服务端程序,启动MongoDB

mongo.exe    备份程序

mongoexport.exe 数据导出程序

mongofiles.exe    GridFS工具,内建的分布式文件系统

mongostat.exe      状态监测工具,固定时间获取数据库的运行状态。

mongotop.exe      默认返回每个集合每一秒读入写出的状态

mongoimport.exe        数据导入程序

mongorestore.exe       数据恢复程序

mongos.exe  数据分片程序,支持数据的横向扩展

mongodump.exe  备份程序

bsondump.exe     用于将导出的bson格式转变成json格式

mongoperf.exe    独立检查数据库I/O性能的工具

7.1    GUI工具

MongoDB有很多的GUI管理工具:

l  MongoVUE  主页:http://www.mongovue.com/

l  RockMongo      主页:http://code.google.com/p/rock-php/

l  MongoHub       主页:https://github.com/bububa/MongoHub

l  Robomongo     主页:https://robomongo.org/

我用的是robomongo

7.2    监控

在mongoDB中有两种自带的监控工具来监控数据库的运行情况

l  工具mongostat

间隔固定时间获取数据库当前的运行状态

C:\Program Files\MongoDB\Server\3.2\bin>mongostat

l  工具mongotop

获取每一个集合每一秒读取写入的信息

C:\Program Files\MongoDB\Server\3.2\bin>mongotop

可以在命令后面跟一个数字作为参数(sleeptime)来设定获取信息的时间间隔

命令行打印信息参数含义:

ns

数据库的名称和集合

Total

在这个集合中操作花费的时间总和

Read

读入操作花费的时间

Write

写入操作花费的时间

7.3    数据导入和导出

输入命令中各个参数的含义:

-d :数据库名称               -c:集合名称             --csv是数据格式csv

-f :指名导出那些类        -o:导出文件的名称

l  数据导入:mongoimport

导入JSON数据

C:\Program Files\MongoDB\Server\3.2\bin>mongoimport -d Sample -c Sample C:\workspace\Sample.json

导入csv格式数据

C:\Program Files\MongoDB\Server\3.2\bin>mongoimport -d Sample -c Sample --type csv -headerline -file C:\workspace\test.csv

其中,--type 指定的是导入数据的格式,-headerline指的是忽略导入数据的第一行(因为是类),-file指的是导入文件的路径。

l  数据导出:mongoexport工具

C:\Program Files\MongoDB\Server\3.2\bin>mongoexport -d Sample -c Sample -o Sample.dat

我们可以查看导出的文件,可以发现是JSON格式的。同理我们可以导出csv格式的数据。

C:\Program Files\MongoDB\Server\3.2\bin>mongoexport -d devlogserver -c devlog --csv -f _id,devlog,syncTime -o Sample.dat

7.4    数据备份和恢复

l  数据备份:mongodump

C:\Program Files\MongoDB\Server\3.2\bin>mongodump -d WLAN

这个命令会创建一个dump文件夹,备份的文件都放在这个文件夹里,也可以指定-o参数,将备份文件放入指定文件夹

l  数据恢复:mongorestore

数据恢复分为两种情况:原数据已删除和原数据未删除

实际操作中直接执行mongorestore命令即可恢复dump中的数据库

  1. 源数据已删除

C:\Program Files\MongoDB\Server\3.2\bin>mongorestore -d WLAN

  1. 原数据未删除,在上个命令中加入-drop参数

C:\Program Files\MongoDB\Server\3.2\bin>mongorestore -d WLAN -drop C:\Program Files\MongoDB\Server\3.2\bin\dump\WLAN

mongoDB知识总结的更多相关文章

  1. [MongoDB知识体系] 一文全面总结MongoDB知识体系

    MongoDB教程 - Mongo知识体系详解 本系列将给大家构建MongoDB全局知识体系.@pdai MongoDB教程 - Mongo知识体系详解 知识体系 学习要点 学习资料 官网资料 入门系 ...

  2. MongoDB 知识要点一览

    1.启动mongoDb数据库: 进入mongoDB的安装目录,执行如下命令 C:\Program Files\MongoDB\Server\3.0\bin>mongod.exe --dbpath ...

  3. 【面试虐菜】—— MongoDB知识整理

    为什么我们要使用MongoDB? 特点: 高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支 ...

  4. 进阶-MongoDB 知识梳理

    MongoDB 一.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mo ...

  5. mongodb知识积累

    1: 安装mongodb https://www.cnblogs.com/zhangdaicong/p/7492494.html 2:配置文件 vi /etc/mongodb.conf https:/ ...

  6. MongoDB知识整理

    参考资料: 7 月全球数据库排名:MongoDB 紧追 PostgreSQL MongoDB 教程 MongoDB中文社区

  7. 学习9:MongoDB知识

    MongoDB学习笔记 1 基本介绍 基本概念 MongoDB**是一种面向文档的数据库管理系统,由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.2007年10月,MongoDB由10g ...

  8. MongoDB知识小结

    一.术语 RDBMS MongoDB 数据库 数据库 表格 集合 行 文档 列 字段 表联合 嵌套文档 主键 主键 (MongoDB 提供了 key 为 _id ) 数据库 数据库名可以是满足以下条件 ...

  9. sitecore系统教程之部署架构方式分析

    当您第一次部署Sitecore体验平台时,您可以选择三种主要体系结构选项: 内部部署服务器解决方案 混合服务器方案 云服务器解决方案 您是选择将Sitecore作为云,内部部署还是混合解决方案运行,取 ...

随机推荐

  1. 算法代码[置顶] 机器学习实战之KNN算法详解

    改章节笔者在深圳喝咖啡的时候突然想到的...之前就有想写几篇关于算法代码的文章,所以回家到以后就奋笔疾书的写出来发表了 前一段时间介绍了Kmeans聚类,而KNN这个算法刚好是聚类以后经常使用的匹配技 ...

  2. C# is与as

    1.使用场景: 强制类型转换,有可能会导致异常.is与as就是为了解决这一问题,is与as永远不会抛出异常. 2.is判断一个对象是否兼容于指定的类型,考虑里氏代换.Dog是Animal,而Anima ...

  3. Codeforces Round #327 (Div. 2) C. Median Smoothing 找规律

    C. Median Smoothing Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/591/p ...

  4. GB2312 Unicode转换表实现跨平台utf8转码unicode

    在GSM模块中,为发送中文短信,采用pdu发送,需要unicode编码.源程序编辑软件将中文转化为GB2312编码,再下列的GB2312 Unicode转换表转为unicode. 实现2维数值,GB2 ...

  5. 标准库类型vector

    标准库类型vector表示对象的集合,其中所有对象的类型都相同.集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它被称为容器. 要想使用vector, ...

  6. 思科(Cisco)路由器策略路由配置详解

    策略路由是路由优化的常用方法.在做路由牵引时很多情况都要用到策略路由.我刚刚接触思科这东西,对策略路由的配置还不太熟悉,今天终于配好了,记录一下. 网络拓扑 R2的E1\E2口分别与R3的E1\E2口 ...

  7. Windows 10正式版官方原版ISO镜像下载

    [微软官方]下载地址1:官方下载工具(32-位系统版本)官方下载工具(64-位系统版本) [MSDN]下载地址2:cn_windows_10_multiple_editions_x64_dvd_684 ...

  8. 决策树算法实现(train+test,matlab) 转

    原文:http://www.zgxue.com/198/1985544.html 华电北风吹 天津大学认知计算与应用重点实验室 修改日期:2015/8/15 决策树是一种特别简单的机器学习分类算法.决 ...

  9. 刚安装完jdk和eclipse需要配置什么?

    还需要配置环境变量,你还要下载 apache-tomcat WEB服务器,也就是说 系统能找到你的 服务器,具体配置:(在windows桌面上右击“我的电脑” —> “属性” —> “高级 ...

  10. Emacs安装auto-complete

    分别下载各个el文件 auto-complete-mode 主源码库 https://github.com/auto-complete/auto-complete 把zip文件下载后,复制auto-c ...