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 相关文章推荐
工作中常用到的JS表单验证代码(包括例子)
Nov 11 Javascript
让AJAX不依赖后端接口实现方案
Dec 03 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
Jul 12 Javascript
基于JavaScript实现多级菜单效果
Jul 25 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
使用vue-cli导入Element UI组件的方法
May 16 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
Javascript Worker子线程代码实例
Feb 20 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
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
PHP多例模式介绍
2013/06/24 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
js 数组操作之pop,push,unshift,splice,shift
2014/01/29 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
Python类属性与实例属性用法分析
2015/05/09 Python
用Eclipse写python程序
2018/02/10 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python如何统计代码运行的时长
2019/07/24 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
结婚保证书
2015/01/16 职场文书
教师节领导致辞
2015/07/29 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL