0

0

php与mongoDB操作示例详解

php中文网

php中文网

发布时间:2016-05-25 16:38:16

|

1689人浏览过

|

来源于php中文网

原创

mongodb数据库是一种以json格式存储的数据库,非常适用于各种应用开发,下面我来给各位朋友介绍一些mongodb学习实例.

mongodb想要整合PHP,需要安装Mongo扩展,这个比较简单,现在说一下MongoDB PHPAPI  及用法.

先看一个简单的例子,实例代码如下:

 comedy;  // 选择comedy数据库,如果以前没该数据库会自动创建,也可以用$m->selectDB("comedy");   
    
    $collection = $db->collection;  //选择comedy里面的collection集合,相当于RDBMS里面的表,也-可以使用   
    $db->selectCollection("collection");   
    $obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );   
    $collection->insert($obj); //将$obj 添加到$collection 集合中    
    $obj = array( "title" => "XKCD", "online" => true );   
    $collection->insert($obj);   
    $cursor = $collection->find();      
    foreach ($cursor as $obj) {  //遍历所有集合中的文档   
        echo $obj["title"] . "n";   
    }    
    $m->close();          //断开MongoDB连接   
    //下面在介绍一些常用的函数,Php代码如下:
    $query = array( "i" => 71 );   
    $cursor = $collection->find( $query );      // 在$collectio集合中查找满足$query的文档   
    while( $cursor->hasNext() ) {   
    var_dump( $cursor->getNext() );   
    }     
    $collection -> findOne();            //返回$collection集合中第一个文档  
    $collection -> count();              //返回$collection集合中文档的数量   
    $coll->ensureIndex( array( "i" => 1 ) );  // 为i "这一列"加索引 降序排列   
    $coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // 为i "这一列"加索引 降序排列 j升序 
?>

查询时,每个Object插入时都会自动生成一个独特的_id,它相当于RDBMS中的主键,用于查询时非常方便,Php代码如下:

 "joe");     
$people->insert($person);     
$joe = $people->findOne(array("_id" => $person['_id']));     
更新时:假如我们想修改下面文档中comments中author的名字,Php代码如下: 
{    
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),    
    "content" : "this is a blog post.",   
    "comments" :    
    [   
     {   
         "author" : "Mike",   
         "comment" : "I think that blah blah blah...",   
     },   
     {   
         "author" : "John",   
         "comment" : "I disagree."   
     }   
    ]   
 }

 

立即学习PHP免费学习笔记(深入)”;

为了改变内部的一个域,我们用 $set,保证文档中其他域不被移除,并且comment的索引也变化,Php代码如下:

update($criteria, array('$set' => array("comments.1" => array("author" => "Jim")))); //$criteria 为要更新的元素     
删除一个数据库,Php代码如下:
$m -> dropDB("comedy");  
列出所有可用数据库,Php代码如下: 
$m->listDBs(); //无返回值

好了就先写这么多了,有兴趣的话可以在网上搜到其他的关于Mongo-php API的用法.

命令行使用实例:

db.system.users.find()   

db.users.count()   

db.users.ensureIndex({password:-1})   

use test   

db.users.getIndexes()   

db.repairDatabase()    

show users   

show dbs   

db.users.find({username:{$in:['4d81a82398790']}}).explain()   

db.users.dropIndexes()    

db.users.find().count()   

db.users.find().limit(5)   

db.users.find({"username":"ssa"})     

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版

动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包

下载

show collections    

db.users.remove()   

db.user.remove({'username':'admin'})   

db.user.insert({'username':'admin','age':21,'nickname':'admin'})   

db.user.save({'username':'admin','age':21,'info':['12','12313','zzsd']})   

db.createCollection("user")     

db.dropDatabase()    

show collections    

db.test.drop()    

db.copyDatabase('test','test1')   

show profile   

db.printCollectionStats()   

db.addUser('admin','admin123')     

db.setProfilingLevel(2);   

db.setProfilingLevel( 1 , 10 );   

db.system.profile.find()


永久链接:

转载随意!带上文章地址吧。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

11

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

6

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

1

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

2

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

1

2026.02.02

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

53

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

25

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.3万人学习

Django 教程
Django 教程

共28课时 | 3.8万人学习

Pandas 教程
Pandas 教程

共15课时 | 1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号