• mongodb php


    首先安装扩展,然后才能使用mongodb

    一、连接数据库

    try {
        $mongo = new MongoClient();
        $db = $mongo->mydb;
        var_dump($db);
    } catch (MongoConnectionException $e) {
        echo $e->getMessage();
    }

    该代码可以连接mydb数据库,如果该数据库不存在则自动创建。

    二、创建集合

    try {
        $mongo = new MongoClient();
        $db = $mongo->mydb;
        $mycol = $db->createCollection('mycol');
        var_dump($mycol);
    } catch (MongoConnectionException $e) {
        echo $e->getMessage();
    }

    该代码可以创建集合mycol。

    三、插入文档

    mongodb中使用insert()来插入文档。

    try {
        $mongo = new MongoClient();
        $db = $mongo->mydb;
        $mycol = $db->mycol;
    
        $document = array('name' => 'test1' , 'sex' => 'formale' , 'age' => 20);
        $res = $mycol->insert($document);
        var_dump($res);
    } catch (MongoConnectionException $e) {
        echo $e->getMessage();
    }

    输出:

    array (size=4)
      'ok' => float 1
      'n' => int 0
      'err' => null
      'errmsg' => null

    四、查找文档

    mongodb使用find()来查找文档

    try {
        $mongo = new MongoClient();
        $db = $mongo->mydb;
        $mycol = $db->mycol;
    
        $mongoCursor = $mycol->find();
        foreach ($mongoCursor as $document) {
            var_dump($document);
        }
    } catch (MongoConnectionException $e) {
        echo $e->getMessage();
    }

    结果:

    array (size=4)
      '_id' => 
        object(MongoId)[7]
          public '$id' => string '56c28a793b22cf5415000029' (length=24)
      'name' => string 'test1' (length=5)
      'sex' => string 'formale' (length=7)
      'age' => int 20

    五、更新文档

    使用update()来更新文档

    try {
        $mongo = new MongoClient();
        $db = $mongo->mydb;
        $mycol = $db->mycol;
    
        $mycol->update(array('name'=>'test1') , array('$set'=>array('age' => 21)));
        $mongoCursor = $mycol->find();
        foreach ($mongoCursor as $document) {
            var_dump($document);
        }
    } catch (MongoConnectionException $e) {
        echo $e->getMessage();
    }

    结果

    array (size=4)
      '_id' => 
        object(MongoId)[7]
          public '$id' => string '56c28a793b22cf5415000029' (length=24)
      'name' => string 'test1' (length=5)
      'sex' => string 'formale' (length=7)
      'age' => int 21

    六、删除文档

    try {
        $mongo = new MongoClient();
        $db = $mongo->mydb;
        $mycol = $db->mycol;
    
        $mycol->remove(array('name'=>'test1'));
        $mongoCursor = $mycol->find();
        foreach ($mongoCursor as $document) {
            var_dump($document);
        }
    } catch (MongoConnectionException $e) {
        echo $e->getMessage();
    }

    remove方法

    public bool|array MongoCollection::remove ([ array $criteria = array() [, array $options = array() ]] )

    options删除的选项:

    “w”:抛出异常的级别,默认是1;

    “justOne”:最多只删除一个匹配的记录;

    fsync”:Boolean, defaults to FALSE. Forces the insert to be synced to disk before returning success. If TRUE, an acknowledged insert is implied and will override setting w to 0.

    timeout”:Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, aMongoCursorTimeoutException will be thrown.

    ......

    其他方法可参见php手册:http://php.net/manual/zh/book.mongo.php

  • 相关阅读:
    git命令
    WPF让绑定支持表达式
    WPF多语言动态切换的一种方法
    C#监测系统事件,睡眠状态
    记一次渗透测试
    Relay
    ECShop相关漏洞复现/分析
    人工智能学习路线图
    抽奖算法
    关于微信开发的 appid,openid,unionid
  • 原文地址:https://www.cnblogs.com/orlion/p/5192060.html
Copyright © 2020-2023  润新知