<?php
/**
* php 连接mongdb的类的封装
* @author 李秀然
*/

class mongdb{
private $host;//"mongodb://admin:12345678@127.0.0.1:27017";
private $data;
private $m_db;
//private $m;
function __construct($host,$data){
  $this->host=$host;
  $this->data=$data;
  $m = new Mongo($host);
  $this->m_db=$m->$data; //没有的话自动创建
}

//查询某个控制集的内容
function select($table,$arrary=array(),$sort=array(),$limit="",$fields=array()){
  $db=$this->table($table);
  // if (empty($arrary))
  $list=$db->find($arrary,$fields);
  if (!empty($sort)){
  $list->sort($sort);
  }
  if(!empty($limit)){
  $limit_arr=explode(",",$limit);
  if(count($limit_arr)>1){
  $list->skip($limit_arr[0]);//跳过100行
  $limit_row= $limit_arr[1];
}else{
  $limit_row= $limit_arr[0];
}
  $list->limit($limit_row);
}
  return $list;
}
function getone($table,$array=array(),$fields=array()){
  $db=$this->table($table);
  $one=$db->findOne($array,$fields);
  return $one;
}
// 选择表
function table($table){
  return $this->m_db->$table;
}
//添加数据
function insert($table,$arr){
  //$arr= array( "title" => "XKCD-".date('i:s'), "online" => true );
  $db=$this->table($table);
  return $db->insert($arr);

}
//更新数据
function update($table,$filter,$update_data,$option=array("multiple"=> true,"upsert" => true)){
  $db=$this->table($table);
  return $db->update($filter,$update_data,$option);
}
//删除数据
function del($table,$array){
  if (empty($array)){
    echo "请输入条件";
  exit;
  }
  $db=$this->table($table);
  return $db->remove($array);
}
//清空某个控制集的内容
function delall($table){
  $db=$this->table($table);
  return $db->remove();
}
function close(){
  $this->m_db->close;
}
}

?>

php 连接mongdb的类的更多相关文章

  1. Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 ...

  2. Druid连接池工具类

    package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...

  3. Android OkHttp网络连接封装工具类

    package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...

  4. 电脑网线/水晶头的连接方法(A类,B类)

    一般的橙白,橙,绿白,蓝,蓝白,绿,棕白,棕. 若是只有四根线的,则任选四根,做线时对应水晶头的1\2\3\6四个入口压制即可. 如果只有一根网线,但想两台机子同时上网,不增加外设,做网线时45水晶头 ...

  5. jdbc连接的工具类

    在不实用框架的情况下,有一个jdbc的工具类来进行数据库的连接就再好不过了,下面提供这个工具类DBUtil.java package org.jdbc.test; import java.io.Inp ...

  6. C3P0连接池工具类使用

    c3p0的基本连接配置文件 c3p0-config.xml <c3p0-config> <default-config> <property name="dri ...

  7. C3P0连接池工具类实现步骤及方法

    C3P0连接池的工具类 使用C3P0获得连接对象连接池有一个规范接口 javax.sal.DataSourse 接口定义了一个从连接池中获得连接的方法getConnection(); 步骤导入jar包 ...

  8. JDBC连接Oracle工具类

    import java.sql.*;import java.util.ResourceBundle; /** * jdbc工具类,负责: * 1. 加载/注册数据库驱动程序 * 2. 获取数据库连接 ...

  9. android和网络连接相关的类URL,URLConnection,HttpURLConnection,HttpClient

    这几个类都是用于和服务器端的连接,有些功能都能够实现,关系是: 一.URL URL标识着网络上的一个资源:该类包含一些URL自身的方法,如获取URL对应的主机名称,端口号,协议,查询字符串外,还有些方 ...

随机推荐

  1. qt离线下载

    http://www.qtcn.org/bbs/read-htm-tid-1075.html

  2. VBA学习笔记(9)--生成点拨(1)

    说明(2017.3.26): 1. 还没写完,写到新建文件夹了,下一步新建word,重命名,查找点拨,把点拨复制进去,因为要给点拨编号,应该会很麻烦 Public Sub test1() Dim pa ...

  3. iOS文件和目录操作,iOS文件操作,NSFileManager使用文件操作:

    NSFileManager常用的文件方法: -(NSData*)contentsAtPath:path 从一个文件中读取数据 -(BOLL)createFileAtPath:path contents ...

  4. 【转】【Unity】实现全局管理类的几种方式

    本文原作者未知,转载自:http://blog.csdn.net/ycl295644/article/details/42458477 如何在Unity中实现全局管理类?由于Unity脚本的运行机制和 ...

  5. 数据库——SQL中EXISTS怎么用1(转)

    EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False 方法/步骤   EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返 ...

  6. uboot中MAC网络(待续)

    start ->start_armboot ->main_loop 实际应用中问题:为什么从nandflash读出的MAC(写到物理phy上)与上层网口地址不同(上层网口采用env的mac ...

  7. Nginx下轻松开启Drupal简洁链接

    大家都知道Drupal在apache环境下使用简洁链接是件很轻松的事,因为官方已经把写好的.htaccess文件附在源代码里,一般在配置里直接就可以打开了.但在Nginx下却没有那么简单,但不用担心, ...

  8. iOS错误整理--自定义按钮,给按钮内部赋值出现的错误

    一.练习中为了实现自定义按钮,按钮中的imageView和titleLabel默认是左右排列的.在练习中自定义为上下排列. *在以下方法中重新布局按钮中的子控件 - (void)layoutSubvi ...

  9. 关于c# 发射的调用并进行缓存

    private static object CreateObject(string AssemblyPath, string classNamespace) { object objObject = ...

  10. easyui中datagrid用法,加载table数据与标题

    加载标题写法: 多行标题:columns: [[ columns: [[                       { field: 'itemid', title: 'Item ID', rows ...