php对mongodb的扩展(初识如故)


Posted in Javascript onNovember 11, 2012

在博主的威逼之下特为大家进行一下小分享,特此申明博主人品非常淳朴只是威逼,绝对没有利诱。
由于mongodb的相关中文资料较少,之后若有机会继续为大家分享。希望这点小分享能给大家带来收获,言归正传请往下看。

为什么说“初识如故”呢,因为mongodb的数据存储格式是一种由于MongoDB的文档结构为BJSON格式(BJSON全称:BinaryJSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中。

MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成。
和关系型数据库的对应关系:

关系型数据库 MongoDB数据库

Database database
table collection

Row document
在MongoDB中可以建立索引,collection中有一个默认的隐藏字段_id,该字段。

安装使用

windows下安装mongodb和简单使用mongodb命令
一、下载,解压文件
到官方下载合适的版本 http://www.mongodb.org/downloads
例如:http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.2.1.zip
解压后放到对应的盘符下面,例如:D:\mongodb
二、安装
1.把bin目录加入到环境变量中 D:\mongodb\bin
2.在D:\mongodb下创建data文件夹放数据用,还要在data文件下创建一个db文件夹,没有db文件夹mongodb不能正常启动
3.简单启动mongodb方法:
进入到bin目录下

C:\Documents and Settings\me>D: 
D:\>cd mongodb/bin 
D:\mongodb\bin>mongod ?dbpath D:/mongodb/data 
D:\mongodb\bin>mongod ?dbpath D:/mongodb/data

显示如下内容:
Sun Jan 16 14:56:03 MongoDB starting : pid=860 port=27017 dbpath=D:/mongodb/d
ata 32-bit

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data

** see http://blog.mongodb.org/post/137788967/32-bit-limitations

Sun Jan 16 14:56:03 db version v2.2.1, pdfile version 4.5
Sun Jan 16 14:56:03 git version: 0eb017e9b2828155a67c5612183337b89e12e291
Sun Jan 16 14:56:03 sys info: windows (5, 1, 2600, 2, ‘Service Pack 3′) BOOST_LI
B_VERSION=1_35
Sun Jan 16 14:56:03 [initandlisten] waiting for connections on port 27017
Sun Jan 16 14:56:03 [websvr] web admin interface listening on port 28017

注:必须先建立data文件夹和到bin目录下执行。mongoDB 服务端的默认连接端口是 27017

2.添加到注册表作为Windows服务启动,和mysql一样启动Windows时会自动启动服务,到bin目录下执行

D:\mongodb\bin>mongod --logpath D:\mongodb\log\log1.log --logappend 
--dbpath D:\mongodb\data --directoryperdb --serviceName mongodb ?install

完成后输出下面内容(360等杀毒软件会阻止,需要允许通过)
all output going to: D:\mongodb\logs\log1.log
Creating service mongodb
Service creation successful.
Service can be started from the command line via ‘net start “mongodb″‘.

D:\mongodb\bin>

其中:log\log1.log日志是以追加的方式输出的,?serviceName mongodb是服务名称
启动MongoDB:net start mongodb
停止MongoDB:net stop mongodb
注:添加到注册表后重启电脑在服务项里面可以看到已经启动,但服务仍然没有启动,重启服务发现给360安全卫士阻止了需要再次确定才能启动。

3.mongodb的简单使用命令,到bin命令下执行mongo.exe进入管理界面,默认是进入到test帐号。

D:\mongodb\bin>mongo.exe 
MongoDB shell version: 2.2.1 
connecting to: test 
> show dbs; 
admin 
local

> help;查看命令提示

php对mongodb的扩展(初识如故)
三、接下来,就是跟所有数据库一样的操作要加一个用户的防问权限
但是些时创建的用户没有查看集合的权限,怎么办呢!其实也好办,我已经替大家头疼过了,所以能够坚持用心看到这里的同学不会再头疼了。
在刚才进入的mongo.exe管理界面执行以下命令

>use admin 
>db.auth("sa","sa") 
>use web 
>show collections

这回就畅通无阻了吧。

四、MongoDB创建数据库完全可以使用use 如下: use web; 这样就创建了一个数据库
切换到web数据库,如果不存在则在插入数据后会自动创建一个,在data目录下可以看到新增了一个web的文件夹

> use web; switched to db web 
> db.my.save({a:10});向collection my 中保存一条信息,如果不存在collection会自动创建一个 
> db.my.find();检索所有记录 
{ “_id” : ObjectId(“4d32c9204e6100000000691e”), “a” : 10 } 
> show collections; 
my 
system.indexes 
>exit;退出

Mongodb的安装及用户权限设置已到此结束。
下面介绍几种图形话管理工具
1.使用图形话管理工具“MongoVUE 0.9.7.2”

php对mongodb的扩展(初识如故)
进入之后可以看到

php对mongodb的扩展(初识如故)
2.一种比较推荐的管理软件是“rockmongo”
需要php运行环境的支持,本人更喜欢它,因为php程序员有着现成的环境不用白不用,呵呵。
(1).下载一个rockmongo,解压后放在web目录下 下载地址:http://rockmongo.com/downloads
如果你没有php的运行环境的话,但又想使用rockmongo的话,可以在下载地址中集成包下载。
(2).下载一个php对mongodb的支持 php_mongo.dll 下载地址:https://github.com/mongodb/mongo-php-driver/downloads
(3).在php.ini中加入这行代码 extension=php_mongo.dll 然后重启apache,查看php_info

php对mongodb的扩展(初识如故)
表示已经安装成功
(4).在浏览器中输入 rockmongo 的地址,出现登录框,登录就可以了。默认的用户是:admin 密码:admin
还有很多种其他工具,大家可以慢慢探索。

Javascript 相关文章推荐
pjblog中的UBBCode.js
Apr 25 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
Apr 05 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
javascript中的Base64、UTF8编码与解码详解
Mar 18 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
Jun 14 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
深入理解React高阶组件
Sep 28 Javascript
360doc网站不登录就无法复制内容的解决方法
Jan 27 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
Dec 03 Javascript
vue+web端仿微信网页版聊天室功能
Apr 30 Javascript
如何优雅地在Node应用中进行错误异常处理
Nov 25 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 #Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 #Javascript
jQuery语法总结和注意事项小结
Nov 11 #Javascript
javascript继承之为什么要继承
Nov 10 #Javascript
jquery表单验证使用插件formValidator
Nov 10 #Javascript
js 判断checkbox是否选中的操作方法
Nov 09 #Javascript
JS的replace方法详细介绍
Nov 09 #Javascript
You might like
延长phpmyadmin登录时间的方法
2011/02/06 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
python实现简易动态时钟
2018/11/19 Python
python word转pdf代码实例
2019/08/16 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
大一新生军训时的自我评价分享
2013/12/05 职场文书
新学期决心书
2014/03/11 职场文书
小学数学教学随笔
2015/08/14 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
初三化学教学反思
2016/02/22 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL