初识Mongodb之[CURD]-PHP版

行动

在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作.

数据连接初始账号密码

账号:admin

密码:admin

首先我们建立一个文件:mongodb.php,设置需要连接账号密码,连接数据库

<?php
/**
 * Mongodb Test
 *
 * Tools:
 * Zend Studio 8.x
 * Eclipse Plug :Toggle Varpper
 *
 * @author Wu Bai Qing<[email protected]>
 * @version $Id: Mongodb.php 17 2011-09-17 06:04:15Z wbq $
 */

$mongo_server_name = ‘admin‘;
$mongo_server_pwd  = ‘admin‘;

// 连接Mongo数据库   数据库地址:端口/账号:密码;
$mongo = new Mongo(‘mongodb://localhost:27017/admin:admin‘);

// 选择一个数据库和要操作的集(如果没有数据库默认创建)
$collection = $mongo->selectDB(‘rrs_result‘)->selectCollection(‘content‘);
?>

数据库自动创建成功

添加一条数据!

<?php
$content = array(
    ‘title‘=>‘叶子-吴佰清‘,
    ‘author‘=>‘吴佰清‘,
    ‘url‘=>‘http://www.cnblogs.com/wubaiqing/archive/2011/09/17/2179870.html‘,
);
$collection->insert($content);
?>

存放的数据内容:

查询所有数据:

<?php
$rows = $collection->find();

foreach ($rows as $key => $val)
{
    var_dump($val);
}
?>

结果:

更改数据:

<?php
$where = array(‘title‘=>‘叶子-吴佰清‘);
$set = array(‘title‘=>‘叶子‘);

$collection->update($where,array(
    ‘$set‘=>$set,
));
?>

结果:

删除数据:

<?php
$collection->remove(array(
    ‘title‘=>‘叶子‘,
));
?>

结果:

No records is found.

完整代码:

<?php
/**
 * Mongodb Test
 *
 * Tools:
 * Zend Studio 8.x
 * Eclipse Pulg :Toggle Varpper
 *
 * @author Wu Bai Qing<[email protected]>
 * @version $Id: Mongodb.php 17 2011-09-17 06:04:15Z wbq $
 */

$mongo_server_name = ‘admin‘;
$mongo_server_pwd  = ‘admin‘;

// 连接Mongo数据库   数据库地址:端口/账号:密码;
$mongo = new Mongo(‘mongodb://localhost:27017/admin:admin‘);

// 选择一个数据库和要操作的集(如果没有数据库默认创建)
$collection = $mongo->selectDB(‘rrs_result‘)->selectCollection(‘content‘);

/*
// 添加
$content = array(
    ‘title‘=>‘叶子-吴佰清‘,
    ‘author‘=>‘吴佰清‘,
    ‘url‘=>‘http://www.cnblogs.com/wubaiqing/archive/2011/09/17/2179870.html‘,
);
$collection->insert($content);
*/

/*
// 查询
$colle = $collection->find(array(‘title‘=>‘叶子-吴佰清‘));

foreach ($colle as $key => $val)
{
    var_dump($val);
}
*/

/*
// 修改
$where = array(‘title‘=>‘叶子-吴佰清‘);
$set = array(‘title‘=>‘叶子‘);

$collection->update($where,array(
    ‘$set‘=>$set,
));
*/

/*
//删除
$collection->remove(array(
    ‘title‘=>‘叶子‘,
));
*/

// End 2011-09-17 23:39
?>

  

下面是sql和Mongodb对应的一些语法:

SQL Statement Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 $db->users->find(array("age" => array(‘$gt‘ => 33)));
SELECT * FROM users WHERE age<33 $db->users->find(array("age" => array(‘$lt‘ => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 $db->users->find(array("age" => array(‘$gt‘ => 33, ‘$lte‘ => 40)));
SELECT * FROM users ORDER BY name DESC $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b=‘q‘ $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 10 SKIP 20 $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 $db->users->find(array(‘$or‘ => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 $db->users->find(array("age" => array(‘$gt‘ => 30)))->count();
SELECT COUNT(AGE) from users $db->users->find(array("age" => array(‘$exists‘ => true)))->count();
UPDATE users SET a=1 WHERE b=‘q‘ $db->users->update(array("b" => "q"), array(‘$set‘ => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b=‘q‘ $db->users->update(array("b" => "q"), array(‘$inc => array("a" => 2)));
DELETE FROM users WHERE z="abc" $db->users->remove(array("z" => "abc"));

初识Mongodb之[CURD]-PHP版

时间: 2024-12-21 02:57:29

初识Mongodb之[CURD]-PHP版的相关文章

[C#] C# 与 MongoDB 的 CURD

C# 与 MongoDB 的 CURD static void Main(string[] args) { //建立连接 var client = new MongoClient(); //建立数据库 var database = client.GetDatabase("TestDb"); //建立collection var collection = database.GetCollection<BsonDocument>("foo"); var do

java操作mongoDB实现CURD

java操作mongoDB mongoDB作为一个牛气哄哄的nosql内存数据库,的确有很多优点,对于大数据量.高并发.弱事务的互联网应用,MongoDB可以应对自如.接触到mongoDB 参考了下api实现了增删改查.mongoDB 是面向对象设计,不用写sql语句 直接操作api 方法 就可以实现,这会儿数据库语句写不好的娃娃们有福了.直接贴码: DataTest.java package com.zk.db; import java.net.UnknownHostException; im

看门外汉如何实现:C#操作 MongoDB基本CURD的事务控制

第一部分 基本设计 目前最新版本的C#驱动MongoDB-CSharpDriver-2.2.3,比之前的版本更新比较大,在网上很难找到这个版本的相关C#操作资料,以下都是个人自发研究.测试的,如有雷同,不胜荣幸:如觉不妥,留言喷射:如有错误,还请赐教:如获帮助,示意欣赏.新版中有很多异步操作,本人对此没作研究,怕会产生数据安全问题,所以全部用的是同步方法. 1. 模型设计,使用GUID类型做为Id属性,在初始化时给一个随机值,基类代码,不作解释 using System;using System

MongoDB权威指南第二版学习笔记二

数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和false {“x”:true} 数值 shell默认使用64位浮点型数值. {“x”:3.14} 或 {“x”:3} 对于整型值,可使用NumberInt类(表示4字节带符号整数)或NumberLong类(表示8字符带符号整数) {“x”:NumberInt(”3”)} {“x”:NumberLong(

MongoDB权威指南第二版学习笔记——MongoDB简介

MongoDB简介 MongoDB在功能和复杂性之间取得了很好的平衡,并且大大简化了原先十分复杂的任务,它具备支撑今天主流web应用的关键功能:索引.复制.分片.丰富的查询语法,特别灵活的数据模型.与此同时还不牺牲速度. MongoDB是一款强大.灵活,且易于扩展的通用型数据库.能扩展出非常多的功能,如二级索引.范围查询.排序.聚合,以及地理空间索引. 设计特点 易于使用 MongoDB是一个面向文档的数据库,比关系型数据库有更好的扩展性.用文档代替行.能够仅使用一条记录来表现发展的层次关系.

(转)重磅出击:MongoDB 3.0正式版即将发布

MongoDB 今天宣布 3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有非常巨大的提升,通过在存储层的大幅改进实现.内建 WiredTiger 存储引擎,这是一项难以置信的技术实现,提供无门闩.非堵塞算法来利用先进的硬件平台(如大容量芯片缓存和线程化架构)来提升性能.通过 WiredTiger ,MongoDB 3.0 实现了文档级别的并发控制,因此大幅提升了大并发下

看门外汉如何实现:C#操作 MongoDB基本CURD的事务控制之 第二部分

第二部分 尝试解决BulkWrite(List<WriteModel<T>>)问题 在上次发表的文章中,得到了一些很好的反馈,真切体会到写博文的好处,有高人指出两大问题,具体可以看看上篇中的评论,下面依然是发表一些个人见解,只做研究,并不保证解决实际问题. 这两大问题终究来说,是发生在BulkWrite(List<WriteModel<T>>)上,针对@ 从来不用 的问题,我试着找出影响的行数据还比对写入操作的数量,如果一致,则提交,如果不一致则回滚. 1.

PHP安装MongoDB扩展-Windows Wamp版

本文将讲述一下在Wamp环境下安装MongoDB扩展的过程,大家可以略作参考 Linux 版本的可以参考之前发布的PHP安装MongoDB扩展 安装环境 系统环境:Windows 7 64位 Apache版本:2.4.9 PHP版本:5.5.12 MongoDB版本:3.2.6 Wamp版本:wamp 2.5 64位 在windows下安装mongodb的扩展比Linux环境稍微复杂点 安装步骤 一.确定php的compiler 通过查看phpinfo()可以确定 从上图可以看到,Compile

初识mongodb一二三(二)

二mongodb主从配置 在之前我们使用mysql数据库或者redis时大家广泛用到,采用双机备份后主节点挂掉了后从节点可以接替主机继续服务.所以这种模式比单节点的高可用性要好很多. 1.环境准备 实际应用中,需要两台机器一主一从.我这里因资源问题,使用一台机器解决. 192.168.221.161:27021当做master 192.168.221.161:27022当做slave 2.分别建立两个文件夹/data/db_master,/data/db_slave 3.分别配置两个配置文件mo