这几天参加了一个创意马拉松大赛,虽然没拿什么奖,重在参与嘛
终于有机会实践mongodb数据库了,以前只是自己配置装着玩玩
作者:风来了.呆狐狸
环境:window10 64 +php5.5.x+mysql5.7.x+mongodb2.6.x
mongod安装
1.下载
http://www.mongodb.org/downloads
我这边下载的是64-bit msi
2.安装
默认就可以
默认安装目录
C:\Program Files\MongoDB 2.6 Standard\bin
3.配置
为了省事另存为 d:\mongodb.cnf
dbpath = d:\mongodb\data bind_ip = 127.0.0.1 port = 27017 quiet = true logpath = d:\mongodb\log\mongod.log logappend = true journal = true
4.启动
这边使用的是bat批处理启动,省事。
下面就是 启动.bat
C:\"Program Files"\"MongoDB 2.6 Standard"\bin\mongod.exe -f d:\mongodb.cnf
如果要生成系统服务(不需要每次关闭电脑后还要重新启动数据库)请用
C:\"Program Files"\"MongoDB 2.6 Standard"\bin\mongod.exe --config d:\mongodb.cnf --install
5.数据库用户名密码
启动成功后数据库用户名和密码默认是空
php mongod 扩展安装
下载:http://download.csdn.net/detail/dupingjin/7577217
根据PHP版本选择相应的 扩展,这边使用
php_mongo-1.4.5-5.5-vc11-nts.dll
放入php目录ext文件夹下
修改 php.ini
在;extension 下一行或 php.ini末尾增加
extension=php_mongo-1.4.5-5.5-vc11-nts.dll
重新启动PHP/NGINX/APACHE环境
测试输出看 phpinfo 中是否有 mongo 这个环境参数,有则安装成功!
测试
<?php header("Content-type:text/html;charset=utf-8"); $m = new MongoClient("mongodb://127.0.0.1:27017"); //如果patent数据库不存在,默认自动新建 $db = $m->patent; //如果title表不存在,默认自动新建 $collection = $db->title; echo '<hr/>'; echo "查询显示结果"; echo '<hr/>'; /* $count = $collection->find()->count(); echo "总数:$count<br/>"; $cursor = $collection->find()->skip(0)->limit(5); $count = $cursor->count(true); echo "第一页条数:$count<br/>"; foreach ($cursor as $document) { print_r($document); } */ //echo '<hr/>'; //echo "一条"; //echo '<hr/>'; //$cursor=$collection->findOne(); //print_r($cursor); //echo $collection->count();
php mongod 增删改查询
1.添加
$m = new MongoClient("mongodb://127.0.0.1:27017"); //如果lanmps数据库不存在,默认自动新建 $db = $m->lanmps; //如果title表不存在,默认自动新建 $collection = $db->title; $add = [ "title" => "www.lanmps.com", "author" => "风来了" ]; $result=$collection->insert($add); //将$add 添加到$collection 集合中 echo "新记录ID:".$add['_id']; #MongoDB会返回一个记录标识 var_dump($result); #返回:bool(true)
2.修改更新
$m = new MongoClient("mongodb://127.0.0.1:27017"); //如果lanmps数据库不存在,默认自动新建 $db = $m->lanmps; //如果title表不存在,默认自动新建 $collection = $db->title; $where = [ "title" => "test.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')]; $coll->update(["host" => "www.lanmps.com"], ['$set' => $where]);
3.删除
$m = new MongoClient("mongodb://127.0.0.1:27017"); //如果lanmps数据库不存在,默认自动新建 $db = $m->lanmps; //如果title表不存在,默认自动新建 $collection = $db->title; $where = [ "title" => "www.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')]; //删除 $collection->remove($where);
4.查询
$m = new MongoClient("mongodb://127.0.0.1:27017"); //如果lanmps数据库不存在,默认自动新建 $db = $m->lanmps; //如果title表不存在,默认自动新建 $collection = $db->title; $where = [ "title" => "www.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')]; //查找一条 $cursor=$collection->findOne($where,['title','author','text']); var_dump($cursor); //查找 多条 $cursor = $collection->find($where); var_dump($cursor);
$m = new MongoClient("mongodb://127.0.0.1:27017"); //如果lanmps数据库不存在,默认自动新建 $db = $m->lanmps; //如果title表不存在,默认自动新建 $collection = $db->title; $where = [ "title" => "www.lanmps.com", "author" => "风来了" ,"id"=>new MongoId('3sdfasfzxcv234234sf')]; /** 查询记录数 **/ echo $collection->count(); #全部 echo '<br/>'; echo $collection->count($where); #可以加上条件 echo '<br/>'; echo $collection->count(['day'=>['$gt'=>10,'$lte'=>20]]); #大于10小于等于20 echo '<br/>'; //limit 显示5条,从第0条开始 echo $collection->find()->limit(5)->skip(0)->count(true); #获得实际返回的结果数 // 注:$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists不存在
模糊查询
$querys = ["name" => new MongoRegex("/*.asdfsf*./$i")]; $collection->find($querys);
时间: 2024-10-29 15:12:48