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,是因为 ...
随机推荐
- vim指令常用
慢慢尝试使用vim,不断学习使用新的快捷键,将常用快捷键但经常容易忘的写下来, 1. 复制黏贴 命令行模式下按住v选中,y表示复制,d表示剪切,p为复制.
- XAF How to show custom forms and controls in XAF (Example)
XAF How to show custom forms and controls in XAF (Example) https://www.devexpress.com/Support/Center ...
- 查看当前正在运行的activity
找到sdk的安装路径,比如我的是 D:\prostu\Android\android-sdk\tools该路径下的: hierarchyviewer.bat 双击,可以用此工具查看设备跑的是当前的哪个 ...
- Yaf零基础学习总结4-Yaf的配置文件
在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置 ...
- Backpropagation反向传播算法(BP算法)
1.Summary: Apply the chain rule to compute the gradient of the loss function with respect to the inp ...
- 对初学者的MPLS 常见问题
对初学者的MPLS 常见问题 2015年6月8日 16:04 阅读 186 问:什么是多协议标签交换 (MPLS)? 答:MPLS是一种数据包转发技术,该技术使用标签来做出数据转发决策. 利用MPLS ...
- 0002--Weekly Meeting on 27th March and 3th April, 2015
27th March, 2015 (1) RankNet && PageRank ->reporter: jinquan Du Web_RankNet Web_PageRa ...
- @MappedSuperclass的用法
实体类baseEntity.java package com.rock.cft.hibernate; import java.util.Date; import javax.persistence.G ...
- 【C语言学习】《C Primer Plus》第10章 数组和指针
学习总结 1.数组初始化方式: int a[]={1,2,3} int a[SIZE]={1,2,3} //SIZE是宏定义,数组初始化个数不能大于SIZE,否则报错:当个数小 //SIZE,自动补0 ...
- 【读书笔记】Ninject 在MVC5中的使用
从MVC3中就开始接触Ninject这个IOC工具.也一直是MVC Framework系列书籍中推荐的IOC工具,当然还有优秀的Autofac等.性能和使用上面个有千秋.下面先看一下Ninject的使 ...