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

}

PHP mongodb运用,MongoDB在PHP下的应用学习笔记相关推荐

  1. ESL3.2(下)最小二乘法学习笔记(含施密特正交化,QR分解)

    3.2(下) 最小二乘法 这是一篇有关<统计学习基础>,原书名The Elements of Statistical Learning的学习笔记,该书学习难度较高,有很棒的学者将其翻译成中 ...

  2. ekf pose使用方法 ros_ubuntu16.04下ROS操作系统学习笔记(二)

    做SLAM的硬件要求(不一定是必须的,看包和库的依赖): (1):差分轮式机器人,可以使用Twist速度指令控制,需要线速度和角速度. (2):需要激光雷达.深度摄像头等测距设备,可以获取环境深度信息 ...

  3. opt文件夹下没有ros_ubuntu16.04下ROS操作系统学习笔记(二)

    做SLAM的硬件要求(不一定是必须的,看包和库的依赖): (1):差分轮式机器人,可以使用Twist速度指令控制,需要线速度和角速度. (2):需要激光雷达.深度摄像头等测距设备,可以获取环境深度信息 ...

  4. 关于JS在IE和FF下attachEvent,addEventListener学习笔记

    今天小弄了一下JS事件,主要说一下FF和IE兼容的问题 对象名.addEventListener("事件名(不带ON)",函数名,true/false);(FF下) 对象名.att ...

  5. 上采样和下采样_OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG

    一. 图像金字塔 一个图像金字塔式一系列的图像组成,最底下的图形尺寸最大,最上方的图像尺寸最小. 高斯金字塔是从底向上,逐层降采样得到的. 高斯金字塔的生成过程分为两步: 对当前层进行高斯模糊. 删除 ...

  6. 目标检测——下采样的学习笔记

    1 前言 对于目标检测问题来说,"增大感受野"是一个绕不开的话题,对于增大感受野,一种最直观的方式就是下采样: 2 下采样的作用 下采样:增大感受野~

  7. bash linux .ee,Linux下Bash shell学习笔记.md

    ### 1.shell下没有变量类型和定义的概念. >1. 变量直接使用不用定义 >2. 所有值都视为字符串. >3. 在对变量取值都需要加$ >4. 行注释为 # + ### ...

  8. Scala下Play框架学习笔记(Actions,Controllers and Results)

    Scala下Play框架的学习是一件辛苦的事情,因为该框架比较新,scala语言也较新,所以中文资料很少,经过同事推荐,去了如下英文网站看资料: https://www.playframework.c ...

  9. python 下的 word2vec 学习笔记

    1.ubuntu下安装gensim refer to: ubuntu 14.04 安装gensim 为了保证安装成功,首先升级一下easy_install工具. sudo easy_install - ...

最新文章

  1. 预测过去?DeepMind用AI复原古希腊铭文,登Nature封面
  2. 延迟环境变量扩展(bat)
  3. 国外计算机音乐专业,音乐留学干货 | 国外电子音乐专业留学如何?
  4. 动态规划(一)简单例子
  5. SQL Server-聚焦UNIOL ALL/UNION查询(二十三)
  6. mysql 树表删除无效节点
  7. Swift-属性监听
  8. php微信支付使用ajax,接入微信公众号支付,选择支付方式后,只弹出“error’”(php)...
  9. haproxy负载均衡_Haproxy+keepalived高可用集群实战
  10. c语言实现点在多边形内部,求教这个判断点是否在多边形内的C语言算法用的什么原理....
  11. uni-app发布为H5页面白屏问题
  12. [MFC] 向文本编辑框写入数据与从其中读取数据
  13. Intel笔记本处理器发展简史(二)
  14. 计算机专业毕业设计—351个VB管理系统源码打包(计算机专业整理)
  15. 如何解决设备管理中的难点?
  16. 满足AUTOSAR基础软件要求的硬件安全模块(HSM)加密运算
  17. myeclipse 10破解方法
  18. mysql.servers表存在_ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
  19. Django源码cookie解读:关于中文cookie会被吞掉并截断的问题。
  20. 分支语句和循环语句<小罗爱学c语言>

热门文章

  1. 将字符串中的空格用%20替换
  2. shell编程题(四)
  3. 1057 数零壹 (20 分)
  4. 大牛深入讲解!9次Java面试经验总结
  5. pose estimation papers and datasets
  6. 网络编程 socket介绍
  7. os.path 模块
  8. 【动态规划】Vijos P1313 金明的预算方案(NOIP2006提高组第二题)
  9. SQL Server 2008空间数据应用系列四:基础空间对象与函数应用
  10. hadoop2.2.0 core-site.xml--security properties