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更优雅的兼容
Aug 12 Javascript
javascript 延迟加载技术(lazyload)简单实现
Jan 17 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
Jan 04 Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 Javascript
详解auto-vue-file:一个自动创建vue组件的包
Apr 26 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
Feb 27 Javascript
JS Web Flex弹性盒子模型代码实例
Mar 10 Javascript
在vue-cli3中使用axios获取本地json操作
Jul 30 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
php处理带有中文URL的方法
2016/07/11 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python 中的with关键字使用详解
2016/09/11 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
关于numpy数组轴的使用详解
2019/12/05 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
市场安全管理制度
2014/01/26 职场文书
教师师德演讲稿
2014/05/06 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
酒桌上的开场白
2015/06/01 职场文书
导游词之无锡古运河
2019/11/14 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript