当前位置:数据库 > mongodb >>

mongodb应用学习笔记

mongodb应用学习笔记
 
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) {
}

 


CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,