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
mongodb php的更多相关文章
- 【翻译】MongoDB指南/聚合——聚合管道
[原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- MongoDB系列(一):简介及安装
什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为应用提供可扩展的高 ...
- [原]分享一下我和MongoDB与Redis那些事
缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...
- 用MongoDB分析合肥餐饮业
看了<从数据角度解析福州美食>后难免心痒,动了要分析合肥餐饮业的念头,因此特地写了Node.js爬虫爬取了合肥的大众点评数据.分析数据库我并没有采用MySQL而是用的MongoDB,是因为 ...
随机推荐
- css中关于position属性的探究(原创)
关于position属性的设置,头脑中一直觉得不是很清楚,所以借助这次机会单独自己测试了一下,记作学习笔记. 首先,css的position属性包含下面四种设置情况: static:默认属性.指定 ...
- React 随笔二
这周做的demo3和demo4.5 随记的小点. 1.js错误提示: Warning: Each child in an array or iterator should have a unique ...
- 3.使用CXF开发webService
CXF 简介 关于 Apache CXF Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache ...
- cuda计算的分块
gpu的架构分为streaming multiprocessors 每个streaming multiprocessors(SM)又能分步骤执行很多threads,单个SM内部能同时执行的thread ...
- i18n国际化
<% request.setAttribute("date", new Date()); request.setAttribute("salary", ...
- 从MySQL5.7.6开始,安装MySQL提示“请键入 NET HELPMSG 3534 以获得更多的帮助”的解决办法
今天安装MySQL提示如下错误: ----------------------------------------------------------------------------------- ...
- 使用knockout-sortable实现对自定义菜单的拖拽排序
在开始之前,照例,我们先看效果和功能实现. 关于自定义菜单的实现,这里就不多说了,需要了解的请访问:http://www.cnblogs.com/codelove/p/4838766.html 这里需 ...
- Selenium自动化测试问题
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 ...
- 作业2源程序版本管理软件优缺点,及Github注册
目前流行的源程序管理软件和项目管理软件主要有以下一些: 1.Visual Source Safe 优点:如果开发工具是VS.NET,用VSS较合适,方便,安装配置和使用都简单,版本控制简单,打labe ...
- 作业三:PSP记录个人项目耗时情况
PSP2.1 Personal Software Process Stages Time Planning 计划 20min Estimate 估计开发 ...