## select - 设置查询字段
~~~
use \api\Mongodb;
// 不传值则表示查询所有,即“*”
Mongodb::select();
// 指定查询字段
Mongodb::select('id, name');
~~~
<br/>
## from - 设置操作的数据表
~~~
use \api\Mongodb;
// 不需要写表前缀,表前缀应在Mongodb.php中配置
Mongodb::from('table');
~~~
<br/>
## where - 条件
~~~
use \api\Mongodb;
// 根据主键查询,带 “_”
Mongodb::where([
'_id' => '5ac52ec1d752558b1188a240'
]);
// 字段匹配查询
Mongodb::where([
'name' => 'test'
]);
// 大于
Mongodb::where([
'field >' => 10
]);
// 大于等于
Mongodb::where([
'field >=' => 10
]);
// 小于
Mongodb::where([
'field <' => 10
]);
// 小于等于
Mongodb::where([
'field <=' => 10
]);
// 不等于
Mongodb::where([
'field <>' => 0
]);
// IN查询
Mongodb::where([
'field IN' => [1,2,3,4,5]
]);
// NOT IN查询
Mongodb::where([
'field NOTIN' => [1,2,3,4,5]
]);
// like
Mongodb::where([
'name LIKE' => 'phpcan'
]);
~~~
<br/>
## order - 排序
~~~
use \api\Mongodb;
// 升序
Mongodb::order([
'id' => 'ASC'
]);
// 降序
Mongodb::order([
'id' => 'DESC'
]);
~~~
<br/>
## limit - 指定条数
~~~
use \api\Mongodb;
Mongodb::limit(10);
// 10到20条
Mongodb::limit(10, 10);
~~~
<br/>
## one - 查询单条
~~~
$data = mongodb('table')->select()->where(['id' => 1])->one(TRUE);
~~~
<br/>
## all - 查询多条
~~~
$data = mongodb('table')->select()
->where([
'id' => 1
])
->order([
'id' => 'DESC'
])
->limit(10)
->all(TRUE);
~~~
<br/>
## add - 写入数据
~~~
// 写入成功返回INSERTID
$id = mongodb('table')->add([
'id' => 1,
'name' => 'test'
]);
// 批量写入,第二个参数设置为TRUE,表示批量写入
// 返回批量插入数据的ID集合
$ids = mongodb('table')->add([
[
'id' => 1,
'name' => 'test'
],
[
'id' => 1,
'name' => 'test'
],
[
'id' => 1,
'name' => 'test'
],
[
'id' => 1,
'name' => 'test'
],
[
'id' => 1,
'name' => 'test'
]
], TRUE);
~~~
<br/>
## edit - 更新数据
~~~
// 更新成功返回影响的记录条数
$num = mongodb('table')->where([
'id' => 1
])->edit([
'name' => 'new name'
]);
// 递增
mongodb('table')->where([
'id' => 1
])->inc([
'hit' => 1
]);
// 递减,value为负数则表示递减
mongodb('table')->where([
'id' => 1
])->inc([
'hit' => -1
]);
~~~
<br/>
## delete - 删除数据
~~~
// 返回删除条数
$num = mongodb('table')->where([
'id' => 1
])->delete();
~~~
<br/>
## 索引操作
~~~
// 创建索引,字段必须已经在表中存在
mongodb('table')->createIndex('field');
// 获取索引
$index = mongodb('table')->getIndex();
print_r($index);
// 删除索引,dropIndex接收的参数是索引名称,可通过getIndex获取表中所有索引的名称
mongodb('table')->dropIndex('name');
~~~
<br/>
## count - 查询总数
~~~
$count = mongodb('table')->where([
'name' => 'test'
])->count();
~~~