视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MongoDB在PHP下的应用学习笔记
2020-11-09 10:43:47 责编:小采
文档


1、连接 mongodb默认端口是:27017,因此我们连接mongodb:$mongodb = new Mongo(

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) {
}

下载本文
显示全文
专题