MongoDB >= 4.0
设置表中字段类型
db_set_field_type('mall_tea',[
'num'=>'int',
'less_num'=>'int',
'max_num'=>'int',
'price'=>'float',
]);
where条件
'title[~]' => '标题', //LIKE查寻
'title' => '标题', // = 查寻
'title' => [1,2] // IN查寻
'age[>]' => 18 //大于
'age[>=]' => 18 //大于等于
'age[<]' => 18 //小于
'age[<=]' => 18 //小于等于
'age[<>]' => [12,18] // 大于等于 小于等于
'age[!] => 1 //不等于
'age[!] => [1,2] // NOT IN
获取数量
db_get_count($table,$call)
计算SUM
db_get_sum($table,$field,$where)
分页
db_pager($table,$where)
查寻多条记录
db_get($table,$where,$limit)
当$limit
为1时返回一行记录
查寻action
add_action("db.get.$table",function(&$one){});
添加记录
db_insert($table,$data)
触发的action
$ref = ['data'=>$data,'id'=>$id];
do_action("db.insert.before.".$table,$data); //添加成功前
do_action("db.insert.".$table,$ref); //添加成功后
更新记录
db_update($table,$update_data,$where)
触发的action
$ref = ['data'=>$update_data,'where'=>$where];
do_action("db.update.before.".$table,$ref); //更新前
do_action("db.update.".$table,$ref); //更新后
数据库删除记录
db_del($table,$where)
删除前会触发
$ref = ['where'=>$where];
do_action("db.del.".$table,$ref);
mongodb事务
mongo_action(function()use($data){
//这里执行各种操作如 db_insert db_update db_del
});
GROUP BY
$a = date("Y-m-d 00:00:00",$yesterday);
$b = date("Y-m-d 23:59:59",$yesterday);
$where['created_at[<>]'] = [$a,$b]; //区间大于等于,小于等于
$where["GROUP"] = ['type','nid'];
$all = db_get("hardware",["SUM(price)"=>'amount',],$where);
$d['list'] = db_get("hardware",[
"SUM(t)"=>'t',
'min(t)'=>'t1',
],[
'drive[!]'=>['gx'],
'GROUP'=> [
'tag',
'drive',
],
'HAVING'=>[
't[>]'=>0
],
'ORDER'=>[
't'=>'asc'
]
]);
设置或取ID
get_id_by_auto_insert($table,$data = [],$where = [],$has_time_and_update = false)
取一条或多条记录
get_all_or_one($table,$where,$fun = '',$limit = '')
如
get_all_or_one("novel_book",$where,'get_novel_book_row');
fucntion get_novel_book_row(&$v){}
处理常用的主题收藏等类似操作。
是否收藏
get_node_fav_is($nid,$user_id,$type='default')
收藏列表
get_node_favs($user_id,$type='default')
主题 收藏数量
get_node_fav_count($nid,$type='default')
收藏或取消收藏
set_node_fav($nid,$user_id,$type='default')
取用户TAG
get_user_tag()
get_user_tag($user_id = '')
取用户信息
get_user($user_id);