首页 > 数据库 > > 基础:PHP连接MongoDB
// 创建连接
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
// MongoDB 写操作类
$bulk = new MongoDB\Driver\BulkWrite;
// 创建一个MongoDB ObjectId,如果传入的是字符串,它将尝试将其转化为ObjectId类型
$id = new MongoDB\BSON\ObjectId();增删改查:
// 增
// MongoDB默认将 _id 当作主键,如果没有它会自动创建,所以这里的_id可以不填
$bulk->insert(['_id'=>new MongoDB\BSON\ObjectId, 'name'=>'我是遗失的美好灬', 'age'=>18]);
// executeBulkWrite() 执行一个或多个写操作 参数一 是命名空间( 数据库.集合),参数二 是写操作对象 BulkWrite
$result = $manager->executeBulkWrite('cxfs.hahah', $bulk);// 改
/*
update()向批量添加更新操作
参数1:filter 过滤器(为空则匹配所有)
参数2:newObj 新对象,包含更新运算符(例如$set)或替换文档(即只有字段:值表达式)的文档。
参数3:option
[
multi: 如果为FALSE,则仅更新第一个匹配的文档,为TRUE更新所有匹配的文档。如果newObj是替换文档,则此选项不能为TRUE。
upsert:如果过滤器与现有文档不匹配,请插入单个文档。如果文档是替换文档(即没有更新操作符),则将从newObj创建该文档;否则,newObj中的运算符将应用于过滤以创建新文档
]
*/
$bulk->update(
['age'=>19, 'hh'=>2],
['$set' => ['name' => '菜鸟19号']],
['multi' => true, 'upsert' => true]
);
$rs = $manager->executeBulkWrite('xxj.runoob', $bulk);// 删
$bulk->delete(['age'=>19]);
$rs = $manager->executeBulkWrite('xxj.runoob', $bulk);// 查
//$filter是删选条件
$filter = [];
$query = new MongoDB\Driver\Query($filter);
$rs = $manager->executeQuery('xxj.runoob', $query);以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要请戳这里链接 或 者关注咱们下面的知乎专栏
PHP架构师圈子
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3159498/ ,如需转载,请注明出处,否则将追究法律责任。