• mongodb在PHP下的应用学习笔记


    1、连接

    mongodb默认端口是:27017,因此我们连接mongodb:$mongodb = new Mongo('localhost') 或者指定IP与端口 $mongodb = new Mongo('192.168.127.1:27017') 端口可改变

    若mongodb开启认证,即--auth,则连接为: $mongodb = new Mongo('root:w888168@localhost:27017');

    2、选择数据库

    $db = $mongodb->selectDBs('dbname'); 或者直接指定数据库名(因为mongodb可以直接创建不存在的数据库) : $db = $mongodb->dbname;

    3、选择集合(collection)

    $tables = $db->selectColletion('tablename')或者 $tables = $db->tablename;

    接下来就可以操作集合了

    4、插入新文档(document)

    collection插入数据,如一个人的信息

    $one = array(

    'name' => 'lily';

    'age'  => 0,

    'hobby' => array(

    'dance',

    'swim',

    'music'

    ),

    );

    $res = $tables -> insert($one,true);

    第二个参数用于等待MongoDB完成操作,以便确定是否成功,默认值为false,当有大量记录插入时使用该参数会比较有用。 插入新文档后,MongoDB会返回一个记录标识。

    结果为:1,则说明已经插入了 

    5、删除文档

    删除文档比较简单: $res = $tables->remove(array('name'=>'lily'));

    注意:这里是将满足条件的都删除,如果只有删除第一个满足条件的文档,则添加第二个参数为true即可

    6、查找文档

    定义一个过滤器:$filter = array('name'=>'lily');

    $res = $tables -> find($filter);

    查找一个 : $res = $tables -> findOne($filter);

    此外,还可以在过滤器里添加比较

    例,获取sessions大于10的信息:
    $filter = array('sessions' => array('$gt' => 10)); (gt -- > lt--< gte -- >= lte <=)
    $cursor = $collection->find($filter);

    返回的接口为游标

    有一个重要的细节需要注意,只有当需要结果的时候查询才会被执行,在第1个例子中,当foreach循环开始时,查询才被执行。
    这是个很有用的特性,因为这可以通过在游标(cursor)中增加选项来取回结果,恰好在定义查询后,执行查询前这个时刻。例如,可以设置选项来执行分页,或者获取指定数目的匹配的文档。
    $total = $cursor->total();
    $cursor->limit(20)->skip(40);
    foreach($cursor as $user) {
    }
  • 相关阅读:
    最长公共子序列
    最长重复子串—后缀数组
    最长递增子序列
    最长重复子串(转)
    最长递增子序列(转)
    最长不重复子串(转)
    连续子数组最大和(转)
    alert 与 console.log
    一个null,让浏览器SB
    javascript实现简单的动画功能
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3186851.html
Copyright © 2020-2023  润新知