老波折了,先看的菜鸟-》mogodb官网手册没看太懂-》装扩展,看php离线手册,发现都是一堆驱动类-》百度发现别人new的类和我不一样啊(其实百度人家用的就是php和mongo手册上的这个库,我没看见),我new的和tp5的mongodb类库一样-》看phpweb手册,也没细看直奔类库而去,根据类的demo自己封装类库封了一天-》才发现下图
尼玛竟然有教程和现成的类库
安装这类库时要注意:他会检查你扩展版本号。你composer的时候,如果不指定具体版本号。他会报错
mongodb的一些通用命令
1、操作库
> show dbs //显示所有数据库
> db //显示当前数据库
> use 数据库名字 //有,选择数据库;无,新建数据库(添加完数据才会显示该库,否则只能用db看)
> db.dropDatabase() //删除库(先进入要删除的库,在执行)
2、操作表
> show collections //显示该库下的所有表(上面已经选择库了)
> db.createCollection("表名") //创建数据表
> db.createCollection("mycoll", {capped:true, size:100000}) //创建固定大小的表
总结创建表有2种方式:
1、按照正常套路,一步一步来
2、使用db.表名.insert()插入数据,后就自动生成了
> db.表名.drop() //删除表(先进入库中,在执行)
curd操作

注意:此篇博文操作以此admin表为结构,curd同一种会写3遍
第1遍:mysql的sql语句,结尾加分号
第2遍:mongodb的shell命令
第3遍:php安装mongodb扩展,使用mongdb类库
公共部分:连接数据库 + 操作哪个库 + 操作哪个表
//用官方composer下来的。http://php.net/manual/zh/mongodb.tutorial.library.php require '../vendor/autoload.php'; //composer的自动加载 echo "<pre />"; $client = new MongoDB\Client("mongodb://localhost:27017"); //直接连接数据库。没有输入账号密码 $collection = $client->boke->admin; //boke是库名-》admin是表名。和命令行use一样,有则进入数据库,无则创建
增
1、insert into admin (name,pass,age,addr) values ('西瓜','123',26,'广州'); //mysql添加一条数据
2、命令行语法:db.表名.方法名({字段:'值',字段:'值'}) //注意:自己输入_id字段,不然id会是个对象。和sql一样,该_id要唯一
2.1、db.admin.insertOne({_id:3,name:'西瓜',pass:'123',age:26,addr:'广州'}) //插入一条
2.2、db.admin.insertMany([{_id:4,name:'西瓜1',pass:'123',age:26,addr:'广州'},{_id:5,name:'西瓜2',age:26,addr:'天河'}])
//插入多条。注意:用[]将多条数据括起来
3、代码调类库法:数据库实例->方法(以数组形式传参);
3.1、插入单条
$data = ['_id'=>'111','name'=>'瓜瓜','pass'=>'456','age'=>26,'addr'=>'广州市']