mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。

一window安装与启动

一、 下载

MongoDB官网 ,下载页面:https://www.mongodb.com/download-center,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意:

①:根据业界规则,偶数为“稳定版”(如:1.6.X,1.8.X),奇数为“开发版”(如:1.7.X,1.9.X),这两个版本的区别相信大家都知道吧。

②:32bit的mongodb最大只能存放2G的数据,64bit就没有限制。

到MongoDB官网下载MongoDB软件:mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi,

二、安装

安装mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi,我解压到D:\workspace\mongodb下

选择安装组件

安装成功

三、启动

①:启动之前,我们要给mongodb指定一个文件夹,创建文件夹D:\workspace\mongodb\data\db、D:\workspace\mongodb\data\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件MongoDB.log,即d:\mongodb\data\log\MongoDB.log,准备好后,下面来启动mongodb吧。

②:微软徽标+R,输入cmd,首先找到“mongodb”的路径,然后运行mongod开启命令,同时用--dbpath指定数据存放地点为“db”文件夹。

cd D:\workspace\mongodb\bin

D:\workspace\mongodb\bin>mongod -dbpath "D:\workspace\mongodb\data\db"

打开shell客户端测试连接:

     开一个cmd窗口,进入mongodb的bin目录,输入mongo或者mongo.exe,出现如下信息说明测试通过,此时我们已经进入了test这个数据库。

输入exit或者ctrl+C可退出。

或者

启动日志最后的端口 [initandlisten] waiting for connections on port 27017

这是在浏览器输入http://localhost:27017/可以看到显示信息为

It looks like you are trying to access MongoDB over HTTP on the native driver port.
也说明成功启动mongodb。

MongoDB服务的启动脚本:

启动服务的脚本mongodb.bat内容为:

mongod -dbpath "D:\workspace\mongodb\data\db"

Shell客户端启动脚本,并以admin登录的脚本为client27017.bat

mongo 127.0.0.1:27017/admin

执行结果如下:

四、MongoDB安装为Windows服务

=为什么要安装成windows服务===========================================

当mongod.exe被关闭时,mongo.exe 就无法连接到数据库了,因此每次想使用mongodb数据库都要开启mongod.exe程序,所以比较麻烦,此时我们可以将MongoDB安装为windows服务
 还是运行cmd,进入bin文件夹,执行下列命令
 > d:\mongodb\bin>mongod --dbpath "d:\mongodb\data\db" --logpath "d:\mongodb\data\log\MongoDB.log" --install --serviceName "MongoDB"

 这里MongoDB.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB

 接着启动mongodb服务

 > d:\mongodb\bin>NET START MongoDB

Windows下面安装和使用mongodb

关闭服务和删除进程

 > d:\mongodb\bin>NET stop MongoDB (关闭服务)

 > d:\mongodb\bin>mongod --dbpath "d:\mongodb\data\db" --logpath "d:\mongodb\data\log\MongoDB.log" --remove --serviceName "MongoDB" (删除,注意不是--install了)

=为什么要安装成windows服务===========================================

将mongodb安装为windows服务非常简单只需要在上面执行的命令行后添加 --install即可

mongod --dbpath D:\MongoDB\data --install

按照正常的剧情,应该服务就安装成功了,但是很不幸,出现下面提示

--install has to be used with --logpath

按照提示,我们需要指定log目录,所以我们创建log目录D:\MongoDB\logs 然后重新执行命令

mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend

但是提示还是没有指定日志路径,几经折腾发现这是2.6版本的一个bug,将会在下一个版本修复,然后我们有两个选择,一个选择是使用上一个版本2.4.9,另一个选择是先用2.4.9版本安装成功服务,然后在升级到2.6(肿么升级?直接用2.6版本替换掉对应2.4.9版本的文件),那我们还有其他的选择吗,答案当然是肯定的,使用sc命令创建服务,使用net start启动服务

sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log  --logappend"
net start MongoDB

五、MongoDB配置文件

很遗憾,官方下载的安装包里面没有默认的配置文件,若想使用配置文件只能自己建一个了,另外个人也推荐使用配置文件来管理MongoDB的配置,使用配置文件配置数据库文件、日志文件以及其它的一些配置都一目了然

解压安装包到D:\MongoDB

建立数据库目录 D:\MongoDB\data

建立日志目录 D:\MongoDB\logs

建立配置文件目录 D:\MongoDB\etc

建立配置文件 D:\MongoDB\etc\mongodb.conf

dbpath=D:\MongoDB\data #数据库路径
logpath=D:\MongoDB\logs\mongodb.log #日志输出文件路径
logappend=true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
journal=true #启用日志文件,默认启用
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017

这里仅指定了几个常用项,更多详细配置请参考官方文档 http://docs.mongodb.org/manual/reference/configuration-options/

注:以上目录是博主自己建立的目录,官方并没有对配置文件路径做出规范,全凭个人喜好来决定

配置文件和相关目录建好后使用如下方式启动MongoDB

  • 普通启动

    mongod --config D:\MongoDB\etc\mongodb.conf
  • 安装为Windows服务
    注:2.6版 这种方式在win7、win8 64位版无法安装成功,其他系统未测试

    mongod --config D:\MongoDB\etc\mongodb.conf --install
  • 使用SC安装为Windows服务

    sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"

这里需要注意下当指定了日志文件后,无论使用配置文件指定还是在命令行指定,日志就都会输出到指定的日志文件去了,在命令行界面将看不到任何日志输出

二、linux安装与启动

1、下载

在官网上https://www.mongodb.com/download-center#community

二、解压安装

下载得到https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.2.tgz文件,解压到/home/sfapp/dev/mongodb/mongodb-3.4.2目录,

建立目录如下目录,

存储目录:/home/sfapp/dev/mongodb/mongodb-3.4.2/mongo_data

日志目录:/home/sfapp/dev/mongodb/mongodb-3.4.2/logs

启动:

[sfapp@cmos1 bin]$ ./mongod --dbpath=/home/sfapp/dev/mongodb/mongodb-3.4./mongo_data  --port=  --fork 
--logpath=/home/sfapp/dev/mongodb/mongodb-3.4./logs/mongodb.log
--auth --httpinterface --rest
--auth:开启认证
--httpinterface:启动web控制台服务
--rest:默认会开启一个HTTP协议的端口提供REST的服务 三、测试 访问:http://10.202.11.117:27017/出现如下界面:

访问:http://10.202.11.117:28017/ 出现如下界面:

去掉auth,如下:

bin]$ ./mongod --dbpath=/home/sfapp/dev/mongodb/mongodb-3.4./mongo_data --port= --fork --logpath=/home/sfapp/dev/mongodb/mongodb-3.4./logs/mongodb.log --httpinterface

再访问页面:http://10.202.11.117:28017/


三:基本操作

由于是开篇,就大概的说下基本的操作,

1、创建一个数据库
use [databaseName]
但是你什么也不干就离开的话这个空数据库就会被删除
2、查看所有数据库
show dbs
3、给指定数据库添加集合并且添加记录
db.[databaseName].insert({...})
4、查看数据库的所有文档
show collections
5、查询指定文档的数据
查询所有db.[documentName].find()
查询第一天数据db.[documentName].findOne()
6、更新文档数据
db.[documentName].update({查询条件},{更新内容})
7、删除文档中的数据
db.[docmentName].remove({...})
8、删除库中的集合
db.[docmentName].drop()
9、删除数据库
db.dropDatabase()
10、Shell的help
里面有所有的shell可以完成的命令帮助
全局的help数据库相关的db.help()集合相关的db.[databaseName].help()
11、mongoDB的API
http://api.mongodb.org/js/2.1.2/index.html
12、数据库和集合命名规范
A、不能有空字符串
B、不得含有'' (空格)、,$、/、\、和\o空字符;
C、应全部小写;
D、最多64个字节;
E、数据库名不能与现有系统保留库同名,如admin,local及config
13、这样的集合名字也是合法的
db-text但是不能通过db.[docmentName]得到了
要改为db.getCollection(documentName)
因为db-text会被当成减法操作

测试代码如下:

D:\workspace\mongodb\bin>client27017.bat

D:\workspace\mongodb\bin>mongo 127.0.0.1:27017/admin
MongoDB shell version: 3.2.9
connecting to: 127.0.0.1:27017/admin
> use tong
switched to db tong
> show dbs
local 0.000GB
test 0.000GB
> use tong
switched to db tong
> db.Person.insert({"name":"java","age":"22"})
WriteResult({ "nInserted" : 1 })
> db.Person.insert({"name":"python","age":"22"})
WriteResult({ "nInserted" : 1 })
> show dbs
local 0.000GB
test 0.000GB
tong 0.000GB
> show collections
Person
> db.Persion.find()
> db.Person.find()
{ "_id" : ObjectId("57e650953b57f5055d313b30"), "name" : "java", "age" : "22" }
{ "_id" : ObjectId("57e650973b57f5055d313b31"), "name" : "python", "age" : "22" }
> db.Person.find({"name":"java"})
{ "_id" : ObjectId("57e650953b57f5055d313b30"), "name" : "java", "age" : "22" }
> db.test.insert({name:"mongo"})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("57e65f5c3b57f5055d313b32"), "name" : "mongo" }
> db.test.drop()
true
> db.test.find()
> db.test.dropDatabase()
2016-09-24T19:12:02.421+0800 E QUERY [thread1] TypeError: db.test.dropDatabase is not a function :
@(shell):1:1 >

<1> insert 操作

好,数据库有了,下一步就是集合,这里就取集合名为“person”,要注意的就是文档是一个json的扩展(Bson)形式。

db.Person.insert({"name":"java","age":""})
db.Person.insert({"name":"python","age":""})

<2> find 操作

我们将数据插入后,肯定是要find出来,不然插了也白插,这里要注意两点:

① “_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。

② 严格的按照Bson的形式书写文档,不过也没关系,错误提示还是很强大的。

示例:

db.Person.find();

db.Person.find({"name":"java"})

<3> update操作

update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”,学过C#,相信还是很好理解的。

示例:

db.Person.update({"name":"java"},{"name":"java","age":"30"})

<4> remove操作

remove中如果不带参数将删除所有数据,呵呵,很危险的操作,在mongodb中是一个不可撤回的操作,三思而后行。

示例:

db.Person.remove({"name":"java"})

db.Persion.count()

四、客户端工具

MongoVUE安装完成后,打开连接

出现错误如下:

不要用admin用户登录,换成默认的用户

MongoDB之二基础入门(window/linux安装启动)的更多相关文章

  1. MongoDB之二基础入门(安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一. 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了 ...

  2. (转) Linux安装启动FTP服务

    Linux安装启动FTP服务 Linux服务器默认是没有开启FTP服务的.也没有FTP服务器,为了文件的传输需要用到FTP服务器,以典型的vsftpd为例.vsftpd作为FTP服务器,在Linux系 ...

  3. 8天学通MongoDB——第一天 基础入门

    原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html 关于mongodb的好处,优点之类的这里就不说了,唯 ...

  4. 8天学通MongoDB——第一天 基础入门(转)

    关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一: 下载 上Mon ...

  5. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  6. linux 基础入门(8) 软件安装 rpm、yum与源码安装详解

    8.软件 RPM包安装 8.1rpm安装 rpm[选项]软件包名称 主选项 -i 安装 -e卸载 -U升级 -q查找 辅助选项 -ⅴ显示过程 -h --hash 查询 -a-all查询所有安装的包 - ...

  7. scikit-learn(window,linux)安装

    scikit-learn是python的机器学习库 记录下载window中和linux中如何下载scikit-learn 方法一 直接下载Anaconda 这是一个非常齐全的python发行版本,里面 ...

  8. MongoDB for C#基础入门

    笔者这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.0/getting_started/quick_ ...

  9. linux安装启动mongodb

    1:下载 http://www.mongodb.org/downloads 在85机器上上传压缩包后解压缩. 首先在linux中解压缩安装程序 通过命令操作: 解压 tar -zxvf mongodb ...

随机推荐

  1. Asp.Net 5 Web Hook

    首先,然我们来看一下WebHooks是什么.WebHooks是一个协议.它们是HTTP回调技术.并且它们是"用户定义的HTTP回调".你和 (或) 您的应用程序在有什么事情发生时会 ...

  2. 【WEB】高并发Web服务的演变-节约系统内存和CPU

    目前主流浏览器通常可以存在2-6个并发. 连接和请求,占据了服务器的大量CPU和内存等资源.在资源数目超过100+的网站页面中,使用更多的下载连接,非常有必要. 缓解“高并发”的压力的手段. 一. W ...

  3. Hadoop2.x + eclipse 插件配置

    http://blog.csdn.net/u012874209/article/details/52105304 搭建集群那些就不用说了,主要有几个关键的地方需要注意(自己的Hadoop版本是2.5. ...

  4. 面向对象分析与设计(C++)课堂笔记

    第一次课: 对象是程序设计最基本的单元 对象:对象标识.属性.操作(对象标识又分为内部标识.外部标识) 三三制原则 继承:英文语义”is a kind of” 自动的拥有或隐含的复制 虚基类:解决多继 ...

  5. [原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  6. 321list,元组,range**数字是不可迭代的!

    一.list(列表) 列表是python中的基础数据类型之一,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型.列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据, ...

  7. 20145229吴姗珊 《Java程序设计》第9周总结

    20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...

  8. SpringCloud之客户端连接Eureka集群

    客户端分别yml: ###服务启动端口号 server: port: 8002 ###服务名称(服务注册到eureka名称) spring: application: name: app-toov5- ...

  9. Windows默认字符集_查询

    https://zhidao.baidu.com/question/32462047.html Windows95. XP……7操作系统自带的都是GBK字符集(含2万余汉字),是完全兼容GB2312( ...

  10. Cocos2d-x中屏幕截取

    类似半屏幕文字向上滚动,到一定位置,逐渐消失 这里用到了CCLayer的visit()方法 首先新建一个类TxtLayer  继承CCLayer class TxtLayer : public coc ...