php操作MongoDB语法

jopen 10年前

MongoDB不支持多表查询

 

     1、运行mongo服务

        打开cmd,输入E:进入E盘。

        输入cd E:\mongdb\bin 进入该目录下。

        输入mongod --dbpath E:\mongodb\data    //开启mongo服务,并将数据信息保存在data文件夹下.

        不要关闭cmd,关闭即关闭mongo服务。

    2、操作语法

        连接数据库

<?php  $conn = new Mongo();//实例  $db = $conn->mongo//选择数据库  $coll=$db->user //选择表

        insert

$coll->insert(array('id'=>48));//插入的是int型的48,查询的时候直接'id'=>48  $coll->insert(array('id'=>'48'))//插入的字符型的48,查询的时候'id'=>'48'

        delete

$coll->remove();// delete from user  $coll->remove(array('id'=>1));// delete from user where id=1

        select

$coll->find();// select * from user   $coll->findone();//select top 1 * from user  $coll->find(array('id'=>1),array('id'=>1,'name'=>1));//select id,name from user where id=1  $coll->find(array('name'=>new MongoRegex('/a/')));//select  * from user where name like '%a%'  $coll->find(array('name'=>new MongoRegex('/^a/')));//select  * from user where name like 'a%'  $coll->find(array('id'=>array('$gt'=>3)))->sort(array('id'=>1));//select *from user where id>3 order by id asc    $gt是大于,$lt是小于,desc是 sort(array('id'=>-1))  $coll->count();//select count(*) from user  $coll->find(array('$or'=>array('id'=>1;),array('name'=>'b')))//select * from user where id=1 or name='b'  $coll->find()->limit(5)->skip(0)->sort(array('id'=>1))//select * from user order by id asc limit 0,5;  $db->command(array('distinct'=>'user','key'=>'name'))//select distinct * from user

        update

$coll->update(array("id"=>3),array('$set'=>array('id'=>1)));//update user set id=1 where id=3;  $coll->update(array("id"=>3),array('$inc'=>array('id'=>2)));//update user set id=id+2 where id=3;