zoukankan      html  css  js  c++  java
  • PHP操作MongoDB

    PHP的MongoDB驱动中文文档:https://www.php.cn/manual/view/4.html

    PHP的MongoDB驱动官方文档:https://www.php.net/manual/zh/book.mongodb.php

    有些细节都没写全,如想学习请阅读官方文档!

    PHP连接MongoDB:

    // 创建连接
    $manager = new MongoDBDriverManager('mongodb://localhost:27017');
    
    // MongoDB 写操作类
    $bulk = new MongoDBDriverBulkWrite;
    
    // 创建一个MongoDB ObjectId,如果传入的是字符串,它将尝试将其转化为ObjectId类型
    $id = new MongoDBBSONObjectId();

    增删改查:

    // 增
    // MongoDB默认将 _id 当作主键,如果没有它会自动创建,所以这里的_id可以不填
    $bulk->insert(['_id'=>new MongoDBBSONObjectId, '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 MongoDBDriverQuery($filter); $rs = $manager->executeQuery('xxj.runoob', $query);
  • 相关阅读:
    layout布局
    窗口、easyui-window、easyui-panel、easyui-linkbutton
    FASTJSON
    Insert title here
    Insert title here
    Scala并发编程
    scala中java并发编程
    scala调用外部命令
    scala正则表达式
    scala占位符_的用法
  • 原文地址:https://www.cnblogs.com/cxfs/p/11395382.html
Copyright © 2011-2022 走看看