MongoDB 安装及使用

一.MongoDB 服务端安装,命令行语句

1.去官网下载最新mongodb安装包,解压--剪贴移动--重命名
cd /tmp
curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz
tar zxf mongodb-linux-x86_64-2.6.4.tgz
mv mongodb-linux-x86_64-2.6.4 /usr/local/mongoDB

2.安装--建立数据文件夹---日志文件和文件夹
cd /usr/local/mongoDB

mkdir data

mkdir logs

cd logs
touch db.log

cd ../bin

./mongod --dbpath=/usr/local/mongoDB/data --logpath=/usr/local/mongoDB/logs/db.log --fork


3.编辑配置文件,加入开机启动
vim /etc/rc.local

/usr/local/mongoDB/bin/mongod --dbpath=/usr/local/mongoDB/data --logpath=/usr/local/mongoDB/logs/db.log --fork

4.打开mongodb 终端
/usr/local/mongoDB/bin/mongo

查看数据库 show dbs

选择或创建数据库 use test

新建一个user表 db.user

插入数据 db.user.save({"a":1,"b":2});

查找所用数据 db.user.find();

查看表 show tables | show collections

删除数据库 db.dropDatabase();(*先进入数据库,要有分号‘;’)

删除表 db.cccc.drop(); (同上!)


二.MongoDB PHP 扩展安装

1.选择适当版本的mongoDB --http://pecl.php.net/package/mongo

cd /tmp
curl -O http://pecl.php.net/get/mongo-1.4.1.tgz
tar zxf mongo-1.4.1.tgz
cd mongo-1.4.1/

2.编译 --需要知道phpize 和php-config 路劲
whereis phpize
whereis php-config

/usr/bin/phpize

ls

./configure --with-php-config=/usr/bin/php-config

make && make install

cd /usr/lib64/php/modules

ls

vim /etc/php.ini

extension = mongo.so

重启httpd

三.PHP 操作 MongoDB

$conn=new Mongo();//最简单的连接
$db = $conn->test;//选择或者创建test数据库
$collection = $db->user;//选择表

//新增
//$obj = array( "title" => "java".rand(1,1111), "author" => "Bill Watterson","age"=>mt_rand(1,100));
//$collection->insert($obj);
//echo $obj['_id'].'<br>';

 

//删除集合
//$collection->remove();

//修改
//$where = array('author'=>'Bill Watterson');
//$newdata = array('$set' =>array('title'=>'ngix1111'));
//$upsert = array('upsert'=>false); //不存在修改的数据时,默认false是否插入这条数据
//$multi = array('multiple'=>true); //是否修改所有匹配的记录,默认false只修改一条
//$collection->update($where,$newdata,$multi);

//查询
//$collection->count();//总数

//注:$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists不存在
//$where = array('age'=>array('$gt'=>10,'$lte'=>40));
//echo $collection->count($where);

$query = array('age'=>array('$gt'=>60)); //查询条件
$fields = array('_id'=>false,'author'=>false);//显示字段
//$cursor = $collection->find();//获得所有记录
$cursor = $collection->find($query,$fields);

//排序
//$cursor->sort(array('age'=>-1));//(-1倒序,1正序)
//只显示部分记录
//$cursor->limit(4);//只显示100行

//foreach遍历
foreach ($cursor as $key=>$value) {
echo "<pre>";
print_r($value);
echo "</pre>";
}

//while遍历
/*
while($cursor->hasNext()){
$r = $cursor->getNext();
echo "<pre>";
print_r($r);
echo "</pre>";
}
*/

//$array= iterator_to_array($cursor);//数组键名是$id
$conn->close();

 

posted @ 2014-09-04 00:49  bgColor  阅读(190)  评论(0编辑  收藏  举报