标签存档: nosql

NOSQL mongodb与php

第一个mongodb与php测试用例:

<?php
try {
$conn = new Mongo();
}catch(Exception $e){
die('Fail');
}

$db = $conn->test;

//mongo认证,返回array([ok]=>1)表示认证成功
print_r($db->authenticate("admin", "123456"));

$cursor = $db->data->find();

while ($cursor->hasNext()){
$result[] = $cursor->getNext();
}
print_r($result);

增删改查:

<?php
try {
$conn = new Mongo();
}catch(Exception $e){
die('Fail');
}

$db = $conn->test;

$db->authenticate("admin", "123456");

$collection = $db->data;

//新增
$user = array('name' => 'admin', 'email' => 'admin@admin.com');
$collection->insert($user); 

//删除
$collection->remove(array('name'=>'test'), array("email" => "admin@admin.com"));  

//修改
$newdata = array('$set' => array("email" => "test@test.com"));
$collection->update(array("name" => "admin"), $newdata);

//查找一条
$user = $collection->findOne(array('name' => 'admin'), array('email'));  //查找name=admin的某一行中的email列值
var_dump($user);

NOSQL mongodb 安装及简介

简介
NOSQL:指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
MongoDB:是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

安装
服务端:

$ cd /home/super
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.5.tgz
$ tar -zxvf mongodb-linux-i686-1.6.5.tgz
$ mv mongodb-linux-i686-1.6.5 /usr/local/mongodb
$ cd /usr/local/mongodb
$ mkdir /data
$ mkdir /data/mongodb
$ ./mongod --fork --dbpath /data/mongodb --logpath /data/mongod.log --maxConns 1000 --directoryperdb --auth --quiet --logappend &
$ netstat -ln #查看******

显示如下图所示:

测试:

$ ./mongo
>help
db.help()                    help on db methods
db.mycoll.help()             help on collection methods
rs.help()                    help on replica set methods
help connect                 connecting to a db help
help admin                   administrative help
help misc                    misc things to know

show dbs                     show database names
show collections             show collections in current database
show users                   show users in current database
show profile                 show most recent system.profile entries with time >= 1ms
use                 set current database
db.foo.find()                list objects in collection foo
db.foo.find( { a : 1 } )     list objects in foo where a == 1
it                           result of the last line evaluated; use to further iterate
> use test #选择数据库,test可以是从未建立过的数据库
switched to db test
> a={name:'test'}
{"name":"test"}
> b={url:'http://www.test.com'}
{ "url" : "http://www.test.com" }
> db.data.save(a) #将数据保存到data表中,data表可以是从未建立过的数据表
> db.data.save(b)
> db.data.find()  #数据查询
{ "_id" : ObjectId("4d7f7c1076568212fe4efbad"), "name" : "test" }
{ "_id" : ObjectId("4d7f7c1876568212fe4efbae"), "url" : "http://www.test.com" }
> show collections #显示test库下所有的表
data
system.indexes
> db.data.find().limit(1) #只显示一条记录
{ "_id" : ObjectId("4d7f7c1076568212fe4efbad"), "name" : "test" }
#增加认证,添加管理员
> use admin
> db.addUser("admin","123456");
#以后登录mongodb必须认证
> use admin
> db.auth("admin","123456")
> db.shutdownServer()

安装rockmongo://MongoDB可视化管理工具

$ mkdir /var/www/html/rockmongo
$ cd /var/www/html/rockmongo
$ wget http://rock-php.googlecode.com/files/rockmongo-v1.0.12.1.zip
$ unzip rockmongo-v1.0.12.1.zip
#修改管理员名和密码
$ vim config.php

mongo-php-driver: //参照:http://www.php.net/manual/en/mongo.installation.php#mongo.installation.nix

$ cd /home/super
$ wget --no-check-certificate https://github.com/mongodb/mongo-php-driver/tarball/master
$ tar -zxvf mongodb-mongo-php-driver-1.1.4-4-g0c16c89.tar.gz
$ cd mongodb-mongo-php-driver-0c16c89/
$ phpize
$ ./configure
$ make && make install
第 1 页,共 1 页1