一.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();