初学对mongodb的语句比较模糊,特别是掺杂函数封装的mysql语句时,容易混淆。以下是mongodb的CURD基本操作的PHP写法,与原生写法相差无几。
1. 查找
find(condition,select)
condition:条件,相当于sql where之后的部分。
select:筛选,相当于sql select之后的部分。
例:$model->find({'name'=>"jack"},{'name'=>1,'age'=>1,'address'=>1});
查找名字为jack的集合,并且只显示name,age,address三个字段。
(1)使用 or
$model->find({'$or'=>['name'=>"jack",'age'=>22]});
(2)使用大小比较
$gt >
$gte >=
$lt <
$lte <=
$model->find({"age"=>['$lte'=>30],'$gte'=>10});
(3)使用范围查找
$in 范围中
$nin 不在范围中
$model->find({"age"=>['$in'=>[20,24,33]]});
2. 更新/修改
更新有2个命令:
(1) update()
$model->update( criteria, objNew, upsert, multi );
criteria : 条件,相当于sql where后面的部分。
objNew : 更新内容,相当于sql set后面的部分。
upsert : 如果不存在记录,是否插入。默认false。
multi : 是否只更新第一条记录,默认false。
(2) save(document)
$model->save(document);
document:修改的对象
如果存在,则覆盖;
不过不存在,则插入。
3. 增加
insert(document)
document:需要增加的集合
例:$model->insert({'name'=>"jack"},{'name'=>1,'age'=>1,'address'=>1});
4. 删除
remove(query,justone)
query:条件
justone:默认false。是否只删除一个。
例:$model->remove({'name'=>"jack"});