PHP操作mongodb:



PHP 要操作mongodb须要打模块

官网能够下载:http://pecl.php.net/package/mongo 下载



mongodb设置成用户授权的启动方式



php手冊没有些用户授权方式登陆的方法:

conn.php

<?

php

$conn = new Mongo("mongodb://user1:123456@localhost:27017/test"); //用户授权链接mongodb test数据库

$db = $conn->test;

?>



find.php

<?php

include "conn.php";

$c1 = $db->c1;    //操作c1集合



//因为php里面不能直接用json

//db.c1.find({name:"user1"});   不能这么玩

//{name:"user1"} == array("name"=>"user1")   用这样的形式

//[1,2] == array(1,2);

//{} == array()



$arr=array();

$rst = $c1->find($arr);

foreach($rst as $val){

echo "<pre>";

print_r($val['name']);  //取id的话  得"_id"

}





样例2:指定值查询

$arr = array("name"=>"user1");  //查询nam=user1的

$rst = $c1->find($arr);

foreach($rst as $val){

echo "<pre>";

$fis = $val['_id'];

print_r($val);  

echo "<a href='user.php?

fid={$fid}'></a>";   //你会发现fid传到user.php的时候变成字符串了。怎么解决?

//user.php   依据_id查mongodb相应的数据

<?php

include "conn.php";

$c1 = $db->c1;

$oid= new MongoId($_GET['fid']); 用这个转一下

var_dump($oid);  //还是Object,不转的话就是string类型



$arr = array("_id"=>"$oid");  

$rst = $c1->find($arr);

foreach($rst as $val){

echo "<pre>";

print_r($val); 

}

?>

}





样例3:添加

include "conn.php";

$c1 = $db->c1;

//db.c1.insert({"name"=>"user3",age:30,"sex"=>"nan"});

$arr = array("name"=>"user3","age"=>30,"sex"=>"nan");

if($c1->insert($arr))

echo '成功';

else

echo '失败';









样例4:删

include "conn.php";

$c1 = $db->c1;

//db.c1.remove({"name"=>"user2"});

$arr = array("name"=>"user2");

if($c1->remove($arr))

echo '删除成功';

else

echo '删除失败';









样例4:改

include "conn.php";

$c1 = $db->c1;

//db.c1.update({"name"=>"user2"},{$set:{age:20,sex:"nan"}}); 添加字段

$sarr = array("name"=>"user2");

$darr = array('$set'=>array('sex'=>'nan','age'=>24));

$opts = array('upsert'=>0,'multiple'=>1);

if($c1->update($sarr,$darr,$opts))  //php里面的update仅仅能传3个參数

echo '更改成功';

else

echo '更改失败';



//关闭

$conn->close();

?

>

PHP操作MongoDB数据库具体样例介绍(增、删、改、查) (六)的更多相关文章

  1. 怎样从C#中打开数据库并进行 增 删 改 查 操作

    首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登 ...

  2. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  3. Java操作MongoDB:连接&增&删&改&查

    1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 Mo ...

  4. Django(十)模型:django模型类对数据库的:增/删/改/查、自关联、管理器、元选项(指定表名)

    一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 ...

  5. MongoDB增 删 改 查

    增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...

  6. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

  7. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...

  8. python_操作MySQL 初解 之__<类方法调用并 增-删-改-查>

    文件一: 调用(sqls文件) # 导入模块 import pymysql from sqls import * # 创建类 class KaoShi(object): # 初始化 def __ini ...

  9. NodeJs连接操作MongoDB数据库

    NodeJs连接操作MongoDB数据库 一,介绍 MongoDB是一种文档导向数据库管理系统,由C++撰写而成.介绍如何使用 Node.js 来连接 MongoDB,并对数据库进行操作. Mongo ...

随机推荐

  1. AIM Tech Round (Div. 1) C. Electric Charges 二分

    C. Electric Charges 题目连接: http://www.codeforces.com/contest/623/problem/C Description Programmer Sas ...

  2. ps制作导航条 分割线技巧

    1 用矩形工具画一个像素的矩形(注意不是路径) 2给矩形添加蒙版,用渐变工具对其进行渐变,达到两头渐隐藏的效果. 制作按钮技巧 用矩形工具画出矩形 然后给矩形添加 内发光 渐变叠加 光泽  描边等操作 ...

  3. GG同步到sqlserver报错一例 Invalid date format

    在将Oracle表同步到sqlserver时,在sqlserver端应用数据时,可能会遇到这个报错. 2014-05-17 17:20:24 WARNING OGG-01154 SQL error - ...

  4. Git系列四之在本地服务器搭建gitlab仓库管理

    1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...

  5. 查询mysql数据库中所有表名

    查找所有表的语句 select table_name from information_schema.tables where table_schema='当前数据库';  

  6. mysql索引处理

    1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍.例如,有3个 ...

  7. HDU 4372 - Count the Buildings(组合计数)

    首先想过n^3的组合方法,即f(i,j,k)=f(i-1,j,k)*(i-2)+f(i-1,j-1,k)+f(i-1,j,k-1),肯定搞不定 然后想了好久没有效果,就去逛大神博客了,结果发现需要用到 ...

  8. 阅读源代码的重要性:如厨师选食材,耍厨具——在Eclipse中怎样查看Java、Android源代码

    首先,非常多人说,不会看jdk中的源代码就不叫学过Java.显然这是肯定的.打个例如:真正的厨师须要从食材的选取.加工.到最后的烹饪.装盘成型,甚至到最后给用户介绍食用方法等一整套流程走下来.而实际上 ...

  9. Mybatis 一个搜索框对多个字段进行模糊查询

    <select id="list" parameterType="ParamConfigCondition" resultType="Param ...

  10. java nb

    Java领域有非常多著名的人物.他们为Java社区编写框架.产品.工具或撰写书籍改变了Java编程的方式. 本文是<最受欢迎的8位Java牛人>的2.0版本号. PS:排名不分先后.本文的 ...