MongoDB相关操作

Posted 编程成长记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB相关操作相关的知识,希望对你有一定的参考价值。

1.  连接MongoDB

<?php
    //1.连接到MongoDB
    $host = "127.0.0.1";
    $port = 27017;
    $server = "mongodb://$host:$port";
    $mongodb = new MongoClient($server);
    echo "<pre>";
    var_dump($mongodb);
    //2.选择数据库
    $db = $client -> hytc;
    var_dump($db);
    //3.选择数据表
    $collection = $db -> user;
    var_dump($collection);

注:库、表无需手动创建,选择后自动创建

2.  CRUD操作

insert(数据)  插入数据(必是一个数组)

 

  //插入文档(关联数组)
  $data = ["name"=>"小明","age"=>10,"hobby"=>"swim"];
  $result = $collection -> insert($data);
  echo "<pre>";
  var_dump($result);

 

find(查找条件,查找字段)  查询数据

 

    //查询数据(返回的是cursor游标,资源)
    $condition = [‘name‘=>‘小明‘];
    $fields = [
        ‘_id‘ => false,     //不查询id
        ‘name‘ => true,     //查询name
        ‘hobby‘ => true     //查询hobby
    ];
    $result = $collection -> find($condition,$fields);
    foreach($result as $key => $value){
        echo "<pre>";
        var_dump($value);
    }

update(查找条件,更新之后的内容=>文档内容)  更新数据

 

    //更新数据
    $condition = [‘name‘=>‘小明‘];
    $new_doc = [
        ‘$set‘ => ["hobby" => "swim"]
    ];
    $result = $collection -> update($condition,$new_doc);
    echo "<pre>";
    var_dump($result);

 

注:

  • 若不存在hobby字段,则创建该字段
  • 默认更新会进行替换操作,可通过属性修改器进行修改而不是替换
  • 若有多条记录符合更新条件,默认只会更新第一个数据
  • 若需更新符合更新条件的所有记录,则设置该函数的第三个参数:[“multiple”=>true]
        //更新数据
        $condition = [‘age‘=>‘20‘];
        $new_doc = [
            ‘$set‘ => ["hobby" => "swim"]
        ];
        $result = $collection -> update($condition,$new_doc,[‘multiple‘=>true]);
        echo "<pre>";
        var_dump($result);

 

remove(查找条件)  删除数据

 

    //删除数据
    $condition = [‘name‘=>‘小明‘];
    $result = $collection -> remove($condition);

 

 

 

 



以上是关于MongoDB相关操作的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB相关操作

MongoDB 相关操作命令。

MongoDB 相关操作命令。

MongoDB中数组类型相关的操作

Mongodb 相关操作

Mongodb的安装,配置,启动与相关操作