日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

MongoDB for PHP扩展操作类

發(fā)布時間:2024/9/20 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB for PHP扩展操作类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  • <?php??
  • ??
  • /**?
  • ?*???
  • *?@link????????https://github.com/thendfeel/TmongoDB?
  • *?@example???????
  • *?@copyright?????
  • *?@site????????http://www.uacool.com?
  • *?@created?????2013-12-13?
  • *?
  • *?Manual?
  • *?http://us2.php.net/mongo?
  • *?針對阿里云MongoDB數(shù)據(jù)庫?
  • *?SQL?to?Mongo?Mapping?Chart?
  • *?http://us2.php.net/manual/en/mongo.sqltomongo.php?
  • *?單例模式(只針對相同的config)?
  • */??
  • class?TmongoDB??
  • {??
  • ??
  • ????protected?$_db?=?'test';??
  • ??
  • ????protected?$_collection?=?'user';??
  • ??
  • ????protected?$_validate?=?array();??
  • ??
  • ????protected?static?$_mongoObj?=?array();??
  • ??????
  • ????private?$_exeResult?=?null;??
  • ????protected?$_sql?=?array();??
  • ??????
  • ????protected?$_mongo?=?null;???
  • ??????
  • ????const?CONNECT_DB?=?'admin';?//?連接數(shù)據(jù)庫,默認為admin??
  • ??????
  • ????/**?
  • ?????*?Config?For?MongDB?
  • ?????*?
  • ?????*?@var?array?
  • ?????*/??
  • ????protected?$_config?=?array(??
  • ????????????'mongo_seed1'?=>?'localhost',??
  • ????????????'mongo_seed2'?=>?'',??
  • ????????????'mongo_replname'?=>?'',??
  • ????????????'mongo_user'?=>?NULL,??
  • ????????????'mongo_pwd'?=>?NULL??
  • ????);??
  • ??
  • ????public?function?__construct($config,$db,?$collection)??
  • ????{??
  • ????????foreach?($this->_config?as?$k?=>?$v)?{??
  • ????????????if(isset($config[$k])){??
  • ????????????????$this->_config[$k]?=?$config[$k];??
  • ????????????}?else?{??
  • ????????????????E('mongoDB數(shù)據(jù)庫連接,請傳遞'.$k);??
  • ????????????}??
  • ????????}??
  • ??
  • ????????$this->_db?=?$db;??
  • ????????$this->_collection?=?$collection;??
  • ??????????
  • ????????$this->init();??
  • ????}??
  • ??????
  • ????public?function?getMongo()??
  • ????{??
  • ????????return?$this->_mongo;??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?Init?The?Class?
  • ?????*?對于相同的配置只初始化一次?
  • ?????*?@param?string?$db?
  • ?????*?@param?string?$collection?
  • ?????*/??
  • ????public?function?init()??
  • ????{??
  • ????????$config?=?$this->_config;??
  • ????????ksort($config);??
  • ????????$encryptStr?=?'';??
  • ???????????
  • ????????foreach?($config?as?$k?=>?$v)?{??
  • ????????????$encryptStr?.=?($k.$v);??
  • ????????}??
  • ??????????
  • ????????$key?=?md5($encryptStr);??
  • ??????????
  • ????????if?(!self::$_mongoObj[$key])?{??
  • ????????????/*$conStr?=?"mongodb://";?
  • ?????????????
  • ????????????if?($config['user']?&&?$config['password'])?{?
  • ????????????????$conStr?.=?"{$config['user']}:{$config['password']}@";?
  • ????????????}?
  • ?????????????
  • ????????????$conStr?.=?"{$config['host']}:{$config['port']}";?
  • ?????????????
  • ????????????$_mongoDB?=?new?\Mongo($conStr,?array(?
  • ????????????????????"connect"?=>?false?
  • ????????????));*/??
  • ????????????$demo_uri?=?'mongodb://'?.?$config['mongo_user']?.?':'?.?$config['mongo_pwd']?.?'@'?.??
  • ????????????????????$config['mongo_seed1']?.?','?.?$config['mongo_seed2']?.?'/'?.?self::CONNECT_DB?.?'?replicaSet='?.?$config['mongo_replname'];??
  • ???????????
  • ????????????$manager?=?new?\MongoDB\Driver\Manager($demo_uri);??
  • ??????????????
  • ????????????self::$_mongoObj[$key]?=?$this->_mongo?=?$manager;??
  • ???????????????
  • ????????????/*if?($db?&&?$collection)?{?
  • ?????????????????
  • ????????????????$this->_mongoDB?=?$_mongoDB->selectCollection($db,?$collection);?
  • ????????????}?else?{?
  • ????????????????$this->_mongoDB?=?$_mongoDB->selectCollection($this->_db,$this->_collection);?
  • ????????????}*/??
  • ????????}?else?{???
  • ????????????$this->_mongo?=?self::$_mongoObj[$key];??
  • ????????}??
  • ????}??
  • ??
  • ????/**?
  • ?????*?Set?Db?&?Collection?
  • ?????*?重新設(shè)置數(shù)據(jù)庫和數(shù)據(jù)表?
  • ?????*?@param?string?$db?
  • ?????*?@param?string?$collection?
  • ?????*/??
  • ????public?function?setDb($db?=?NULL,?$collection?=?NULL)??
  • ????{??
  • ????????if?($db)?{??
  • ????????????$this->_db?=?$db;??
  • ????????????//$this->_mongoDB?=?NULL;??
  • ????????????//$this->_mongoDB?=?$this->_mongoObj->selectCollection($this->_db,$this->_collection);??
  • ????????}??
  • ??????????
  • ????????if?($collection)?{??
  • ????????????$this->_collection?=?$collection;??
  • ????????}??
  • ??????????
  • ????????return?$this;??
  • ????}??
  • ??
  • ????/**?
  • ?????*?Set?Collection?
  • ?????*?重新設(shè)置數(shù)據(jù)表?
  • ?????*?@param?string?$collection?
  • ?????*/??
  • ????public?function?setCollection($collection?=?NULL)??
  • ????{??
  • ????????if?($collection)?{??
  • ????????????$this->_collection?=?$collection;??
  • ????????????//$this->_mongoDB?=?NULL;??
  • ????????????//$this->_mongoDB?=?$this->_mongoObj->selectCollection($this->_db,$collection);??
  • ????????}??
  • ??????????
  • ????????return?$this;??
  • ????}??
  • ????/**?
  • ?????*?獲取指定條件下的集合里的數(shù)據(jù)數(shù)量,默認使用_id主鍵字段?
  • ?????*/??
  • ????public?function?count($argv?=?array(),$fields?=?'_id')??
  • ????{??
  • ????????$result?=?$this->find($argv,$fields);??
  • ??????????
  • ????????if?($result)?{??
  • ????????????return?count($result);??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ????/**?
  • ?????*?Fetch?From?Mongodb?
  • ?????*?
  • ?????*?@param?array?$argv?
  • ?????*?@param?number?$skip?
  • ?????*?@param?number?$limit?
  • ?????*?@param?array?$sort?
  • ?????*?@return?Ambigous?<multitype:,?multitype:>|boolean?
  • ?????*/??
  • ????public?function?find($argv?=?array(),$fields?=?array(),$sort?=?array(),$skip?=?0,?$limit?=?0)??
  • ????{??
  • ????????/*$argv?=?$this->validate($argv);?
  • ?????????
  • ????????if?($argv)?{?
  • ????????????$result?=?$this->_mongoDB->find($argv)?
  • ????????????->skip($skip)?
  • ????????????->limit($limit)?
  • ????????????->sort($sort);?
  • ????????????return?self::toArray($result);?
  • ????????}*/??
  • ??????????
  • ????????$options?=?array();??
  • ??????????
  • ????????if?($skip)?{??
  • ????????????$options['skip']?=?$skip;??
  • ????????}??
  • ??????????
  • ????????if?($limit)?{??
  • ????????????$options['limit']?=?$limit;??
  • ????????}??
  • ??????????
  • ????????if?($sort)?{??
  • ????????????$options['sort']?=?$sort;??
  • ????????}??
  • ??????????
  • ????????if?($fields)?{??
  • ????????????if?(is_string($fields))?{??
  • ????????????????$fields?=?explode(',',?$fields);??
  • ????????????}??
  • ??????????????
  • ????????????foreach?($fields?as?$v)?{??
  • ????????????????$options['projection'][$v]?=?1;??
  • ????????????}??
  • ????????}???
  • ??????????
  • ????????$query?=?new?\MongoDB\Driver\Query($argv,?$options);???
  • ??????????
  • ????????$cursor?=?$this->_mongo->executeQuery($this->_db.'.'.$this->_collection,?$query);??
  • ??????
  • ????????return?$cursor->toArray();??
  • ????}??
  • ????/**?
  • ?????*?執(zhí)行命令?
  • ?????*/??
  • ????public?function?runCommand($command?=?array())??
  • ????{??
  • ????????if?(!$command)?{??
  • ????????????return?false;??
  • ????????}??
  • ??????????
  • ????????$commandObj?=?new?\MongoDB\Driver\Command($command);??
  • ??????????
  • ????????try?{??
  • ????????????$cursor?=?$this->_mongo->executeCommand($this->_db,?$commandObj);??
  • ????????????$response?=?$cursor->toArray();??
  • ????????}?catch(\MongoDB\Driver\Exception?$e)?{??
  • ????????????echo?'Mongo的runCommand異常:',$e->getMessage();??
  • ????????????exit;??
  • ????????}??
  • ??????????
  • ????????if?(count($response)?>?1)?{??
  • ????????????return?$response;??
  • ????????}?else?{??
  • ????????????return?$response[0];??
  • ????????}??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?Fetch?By?MongoId?
  • ?????*?
  • ?????*?@param?string?$_id?
  • ?????*?@return?Ambigous?<Ambigous,?boolean,?multitype:>?
  • ?????*/??
  • ????public?function?findById($_id?=?'',$fields?=?array())??
  • ????{??
  • ????????if?(is_string($_id))?{??
  • ????????????return?$this->findOne(array('_id'?=>?new?\MongoDB\BSON\ObjectID($_id)),$fields);??
  • ????????}??
  • ????}??
  • ??
  • ????/**?
  • ?????*?Fetch?One?From?MongoDB?
  • ?????*?
  • ?????*?@param?array?$argv?
  • ?????*?@param?array?$fields?
  • ?????*?@return?multitype:?boolean?
  • ?????*/??
  • ????public?function?findOne($argv?=?array(),$fields?=?array(),$sort?=?array())??
  • ????{??
  • ????????$result?=?$this->find($argv,$fields,$sort,0,1);??
  • ??????????
  • ????????if?($result)?{??
  • ????????????return?$result[0];??
  • ????????}?else?{??
  • ????????????return?NULL;??
  • ????????}??
  • ????????????//return?$this->cleanId($this->_mongoDB->findOne($argv,?$fields));??
  • ????}??
  • ??
  • ????/**?
  • ????*?Update?MongoDB?By?Id?
  • ????*?通過主鍵ID更新?
  • ????*?@param?string?$_id?
  • ????*?@param?array?$newData?
  • ????*/??
  • ????public?function?updateById($_id,?$set?=?array())??
  • ????{??
  • ????????return?$this->updateStatement(array('_id'?=>?new?\MongoDB\BSON\ObjectID($_id)),?array('$set'=>$set))->execute()->getModifiedCount();??
  • ????}??
  • ??
  • ????/**?
  • ????*?執(zhí)行添加,刪除,更新?All?From?Mongodb,執(zhí)行多個語句?
  • ????*?$obj->deleteStatement(array('name'=>'1'))->deleteStatement(array('id'=>1))->remove();?
  • ????*?@param?array?$argv?
  • ????*/??
  • ????public?function?execute()??
  • ????{??
  • ????????if?(!$this->_sql)?{??
  • ????????????return?NULL;??
  • ????????}??
  • ??????????
  • ????????$bulk?=?new?\MongoDB\Driver\BulkWrite;??
  • ??????????
  • ????????foreach?($this->_sql?as?$val)?{??
  • ????????????switch?($val['type'])?{??
  • ????????????????case?'delete':??
  • ????????????????????$bulk->delete($val['sql'],$val['limit']);??
  • ????????????????????break;??
  • ????????????????case?'insert':??
  • ????????????????????$bulk->insert($val['document']);??
  • ????????????????????break;??
  • ????????????????case?'update':??
  • ????????????????????$bulk->update($val['filter'],$val['set'],$val['options']);??
  • ????????????????????break;??
  • ????????????}??
  • ??????????????
  • ????????}??
  • ??????????
  • ????????$writeConcern?=?new?\MongoDB\Driver\WriteConcern(\MongoDB\Driver\WriteConcern::MAJORITY,?1000);??
  • ??????????
  • ????????try?{??
  • ????????????$this->_exeResult?=?$this->_mongo->executeBulkWrite($this->_db.'.'.$this->_collection,?$bulk,?$writeConcern);??
  • ????????}?catch(\MongoDB\Driver\Exception\WriteException?$e)?{??
  • ????????????echo?'MongoDB擴展寫入異常:';??
  • ??????????????
  • ????????????$writeResult?=?$e->getWriteResult();??
  • ??????????????
  • ????????????if?($writeConcernError?=?$writeResult->getWriteConcernError())?{????
  • ????????????????echo?$writeConcernError[0]->getMessage(),'<br?/>';??
  • ????????????}??
  • ??????????????
  • ????????????if?($writeErrors?=?$writeResult->getWriteErrors())?{???
  • ????????????????echo?$writeErrors[0]->getMessage();??
  • ????????????}??
  • ????????????exit();??
  • ????????}?catch?(\MongoDB\Driver\Exception\InvalidArgumentException?$e)?{??
  • ????????????exit('MongoDB擴展傳入?yún)?shù)異常:'.$e->getMessage());??
  • ????????}?catch?(\MongoDB\Driver\Exception\RuntimeException?$e)?{??
  • ????????????exit('MongoDB擴展運行異常:'.$e->getMessage());??
  • ????????}?catch?(\MongoDB\Driver\Exception\ExecutionTimeoutException?$e)?{??
  • ????????????exit('MongoDB擴展運行超時異常:'.$e->getMessage());??
  • ????????}?catch?(\MongoDB\Driver\Exception\ConnectionTimeoutException?$e)?{??
  • ????????????exit('MongoDB擴展連接超時異常:'.$e->getMessage());??
  • ????????}?catch?(\Exception?$e)?{??
  • ????????????exit('系統(tǒng)異常:'.$e->getMessage());??
  • ????????}??
  • ??????????
  • ????????return?$this;??
  • ????}??
  • ????/**?
  • ?????*?獲取刪除的行數(shù)?
  • ?????*/??
  • ????public?function?getDeletedCount()??
  • ????{??
  • ????????if?($this->_exeResult)?{??
  • ????????????return?$this->_exeResult->getDeletedCount();??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ????/**?
  • ?????*?獲取實際更新的行數(shù)?
  • ?????*/??
  • ????public?function?getModifiedCount()??
  • ????{??
  • ????????if?($this->_exeResult)?{??
  • ????????????return?$this->_exeResult->getModifiedCount();??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ????/**?
  • ?????*?一次最多插入9萬條以下.耗時?
  • ?????*?獲取實際插入的行數(shù)?
  • ?????*/??
  • ????public?function?getInsertedCount()??
  • ????{??
  • ????????if?($this->_exeResult)?{??
  • ????????????return?$this->_exeResult->getInsertedCount();??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ????/**?
  • ?????*?獲取實際匹配的行數(shù)?
  • ?????*/??
  • ????public?function?getMatchedCount()??
  • ????{??
  • ????????if?($this->_exeResult)?{??
  • ????????????return?$this->_exeResult->getMatchedCount();??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ????/**?
  • ?????*?獲取實際更新失敗然后新插入的行數(shù)?
  • ?????*??
  • ?????*/??
  • ????public?function?getUpsertedCount()??
  • ????{??
  • ????????if?($this->_exeResult)?{??
  • ????????????return?$this->_exeResult->getUpsertedCount();??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ????/**?
  • ?????*?獲取實際更新失敗然后新插入的ID列表?
  • ?????*/??
  • ????public?function?getUpsertedIds()??
  • ????{??
  • ????????if?($this->_exeResult)?{??
  • ????????????return?$this->_exeResult->getUpsertedIds();??
  • ????????}?else?{??
  • ????????????return?0;??
  • ????????}??
  • ????}??
  • ???????
  • ??????
  • ????/**?
  • ?????*?delete子句?
  • ?????*?@param?$delete?為刪除過濾條件,為數(shù)組形式?
  • ?????*/??
  • ????public?function?deleteStatement($delete,$limit?=?0)??
  • ????{??
  • ????????$this->_sql[]?=?array('type'=>'delete','sql'=>$delete,'limit'=>array('limit'=>$limit));??
  • ??????????
  • ????????return?$this;??
  • ????}??
  • ????/**?
  • ?????*?insert子句?
  • ?????*?@param?$batch?批量插入數(shù)據(jù)?
  • ?????*/??
  • ????public?function?insertStatement($insert,$batch?=?false)??
  • ????{??
  • ????????if?($batch)?{??
  • ????????????if?(is_array($insert)?&&?$insert)?{??
  • ????????????????foreach?($insert?as?$val)?{??
  • ????????????????????$this->_sql[]?=?array('type'=>'insert','document'=>$val);???
  • ????????????????}??
  • ????????????}??
  • ????????}?else?{??
  • ????????????$this->_sql[]?=?array('type'=>'insert','document'=>$insert);??
  • ????????}??
  • ??????????
  • ????????return?$this;??
  • ????}??
  • ????/**?
  • ?????*?update子句?
  • ?????*?@param?option?multi?為true則更新全部符合條件的文檔,否則只更新一個符合條件的文檔?
  • ?????*??????????????upsert?為true則當沒有符合條件的文檔時將更新過后的數(shù)據(jù)插入到集合中?
  • ?????*?參考連接:http://blog.csdn.net/qq1355541448/article/details/9082225?
  • ?????*?第二個參數(shù)有以下的做法:?
  • ?????*??修改更新???
  • ?????*??????使用set關(guān)鍵字:?$set:讓某節(jié)點等于給定值?,字段不變,內(nèi)容變了?
  • ?????*??替換更新:?
  • ?????*??????第一個參數(shù)$where=array(‘column_name’=>’col709′),第二個參數(shù):$newdata=array(‘column_exp’=>’HHHHHHHHH’,'column_fid’=>123);?
  • ?????*??????那么指定的column_name字段將會替換成成column_exp(=HHHHHHHHH)和column_fid(123)?
  • ?????*??自動累加或自動累減?
  • ?????*??????array(‘$set’=>$newdata,’$inc’=>array(’91u’=>-5),第二個參數(shù),在找到的91u字段的參數(shù)會自動在原值減5?
  • ?????*??刪除指定字段?
  • ?????*??????$where=array(‘column_name’=>’col685′);?
  • ?????*??????$result=$collection->update($where,array(‘$unset’=>’column_exp’));column_exp字段將會被刪除?
  • ?????*?參考文檔:https://docs.mongodb.org/manual/reference/operator/update/?
  • ?????*/??
  • ????public?function?updateStatement($filter,$set,$options?=?array('multi'?=>?true,?'upsert'?=>?false))??
  • ????{??
  • ????????$this->_sql[]?=?array('type'=>'update','filter'=>$filter,'set'=>$set,'options'=>$options);??
  • ??????????
  • ????????return?$this;??
  • ????}??
  • ????/**?
  • ????*?Remove?By?Id?From?Mongodb?
  • ????*?
  • ????*?@param?string?$_id?
  • ????*?@return?Ambigous?<boolean,?multitype:>?
  • ????*/??
  • ????public?function?removeById($_id)??
  • ????{??
  • ????????return?$this->deleteStatement(array('_id'?=>?new?\MongoDB\BSON\ObjectID($_id)))->execute()->getDeletedCount();??
  • ????}??
  • ??
  • ????/**?
  • ????*?Remove?One?From?Mongodb?
  • ????*?
  • ????*?@param?array?$argv?
  • ????*/??
  • ????public?function?removeOne($argv?=?array())??
  • ????{??
  • ????????return?$this->deleteStatement($argv,1)->execute()->getDeletedCount();??
  • ????}??
  • ??
  • ?????/**?
  • ?????*?Remove?Field?From?MongoDB?
  • ?????*?
  • ?????*?@param?string?$_id?
  • ?????*?@param?array?$field?
  • ?????*/??
  • //??public?function?removeFieldById($_id,?$field?=?array())??
  • //??{??
  • //??????return?$this->updateStatement(array('_id'?=>?new?\MongoDB\BSON\ObjectID($_id)),?array('$unset'?=>?$unSetfield));??
  • //??}??
  • ??
  • ????/**?
  • ????*?Validate?Data?Callbak?Function?沒有用到的函數(shù)?
  • ????*?
  • ????*?@param?array?$argv?
  • ?????*/??
  • ????private?function?validate($data)??
  • ????{??
  • ????????if?($this->_validate)?{??
  • ????????????foreach?($this->_validate?as?$arg?=>?$validate)?{??
  • ????????????????if?(is_array($data)?&&?array_key_exists(strval($arg),?$data))?{??
  • ????????????????????foreach?($validate?as?$key?=>?$value)?{??
  • ????????????????????????switch?(strtolower($key))?{??
  • ????????????????????????????case?'type':??
  • ????????????????????????????????if?($value?==?'int')?{??
  • ????????????????????????????????????$data[$arg]?=?(int)?$data[$arg];??
  • ????????????????????????????????}?elseif?($value?==?'string')?{??
  • ????????????????????????????????????$data[$arg]?=?(string)?$data[$arg];??
  • ????????????????????????????????}?elseif?($value?==?'bool')?{??
  • ????????????????????????????????????$data[$arg]?=?(bool)?$data[$arg];??
  • ????????????????????????????????}?elseif?($value?==?'float')?{??
  • ????????????????????????????????????$data[$arg]?=?(float)?$data[$arg];??
  • ????????????????????????????????}?elseif?($value?==?'array')?{??
  • ????????????????????????????????????$data[$arg]?=?(array)?$data[$arg];??
  • ????????????????????????????????}??
  • ????????????????????????????????break;??
  • ????????????????????????????case?'min':??
  • ????????????????????????????????if?(strlen($data[$arg])?<?$value)?{??
  • ????????????????????????????????????exit('Error:?The?length?of?'?.?$arg?.?'?is?not?matched');??
  • ????????????????????????????????}??
  • ????????????????????????????????break;??
  • ????????????????????????????case?'max':??
  • ????????????????????????????????if?(strlen($data[$arg])?>?$value)?{??
  • ????????????????????????????????????exit('Error:?The?length?of?'?.?$arg?.?'?is?not?matched');??
  • ????????????????????????????????}??
  • ????????????????????????????????break;??
  • ????????????????????????????case?'func':??
  • ????????????????????????????????$call?=?preg_split('/[\:]+|\-\>/i',?$value);??
  • ????????????????????????????????if?(count($call)?==?1)?{??
  • ????????????????????????????????????$data[$arg]?=?call_user_func($call['0'],?$data[$arg]);??
  • ????????????????????????????????}?else?{??
  • ????????????????????????????????????$data[$arg]?=?call_user_func_array(array($call['0'],$call['1']),?array($data[$arg]));??
  • ????????????????????????????????}??
  • ????????????????????????????????break;??
  • ????????????????????????}??
  • ????????????????????}??
  • ????????????????}??
  • ????????????}??
  • ????????}??
  • ??????????????????????????????
  • ????????return?$data;??
  • ????}??
  • ????/**?
  • ?????*?mongdodb服務器的相關(guān)信息?
  • ?????*/??
  • ????public?function?buildInfo()??
  • ????{??
  • ????????return?$this->runCommand(array('buildinfo'=>1));??
  • ????}??
  • ????/**?
  • ?????*?返回指定集合的統(tǒng)計信息,包括數(shù)據(jù)大小、已分配的存儲空間和索引的大小。?
  • ?????*/??
  • ????public?function?collStats($collection?=?'')??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????$collection?=?$this->_collection;??
  • ??????????????
  • ????????????if?(!$collection)?{??
  • ????????????????return?NULL;??
  • ????????????}??
  • ????????}??
  • ??????????
  • ????????return?$this->runCommand(array('collstats'=>$collection));??
  • ????}??
  • ????/**?
  • ?????*?列出指定集合中滿足查詢條件的文檔的指定鍵的所有不同值?
  • ?????*/??
  • ????public?function?distinct($field,$filter?=?array(),$collection?=?'')??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????$collection?=?$this->_collection;??
  • ??????????????
  • ????????????if?(!$collection)?{??
  • ????????????????return?NULL;??
  • ????????????}??
  • ????????}??
  • ????????return?false;??
  • ????????return?$this->runCommand(array('key'=>$field,'query'=>$filter,'distinct'=>$collection));??
  • ????}??
  • ????/**?
  • ?????*?刪除集合的所有數(shù)據(jù)?
  • ?????*/??
  • ????public?function?drop($collection?=?'')??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????$collection?=?$this->_collection;??
  • ??????????????
  • ????????????if?(!$collection)?{??
  • ????????????????return?NULL;??
  • ????????????}??
  • ????????}??
  • ??????????
  • ????????return?$this->runCommand(array('drop'=>$collection));??
  • ????}??
  • ????/**?
  • ?????*?刪除當前數(shù)據(jù)庫中的所有數(shù)據(jù)?
  • ?????*/??
  • ????public?function?dropDatabase()??
  • ????{??
  • ????????return?$this->runCommand(array('dropdatabase'=>1));??
  • ????}??
  • ????/**?
  • ?????*?刪除集合里面名稱為name的索引,如果名稱為"*",則刪除全部索引。?
  • ?????*/??
  • ????public?function?dropIndexes($index?=?'*',$collection?=?'')??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????$collection?=?$this->_collection;??
  • ??????????????
  • ????????????if?(!$collection)?{??
  • ????????????????return?NULL;??
  • ????????????}??
  • ????????}??
  • ??????????
  • ????????return?$this->runCommand(array('dropIndexes'=>$collection,'index'?=>?$index));??
  • ????}??
  • //??/**??
  • //???*?創(chuàng)建索引??
  • //???*/??
  • //??public?function?createIndexes($index,$collection?=?'')??
  • //??{??
  • //??????if?(!$collection)?{??
  • //??????????$collection?=?$this->_collection;??
  • ??????????????????
  • //??????????if?(!$collection)?{??
  • //??????????????return?NULL;??
  • //??????????}??
  • //??????}??
  • ??????????
  • //??????return?$this->runCommand(array('createIndexes'=>array('create'=>$collection),'index'?=>?array('name'=>$index)));??
  • //??}??
  • ????/**?
  • ?????*?列出某個集合下所有的索引?
  • ?????*/??
  • ????public?function?listIndexes($collection?=?'')??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????$collection?=?$this->_collection;??
  • ??????????
  • ????????????if?(!$collection)?{??
  • ????????????????return?NULL;??
  • ????????????}??
  • ????????}??
  • ??????????
  • ????????return?$this->runCommand(array('listIndexes'=>$collection));??
  • ????}??
  • ????/**?
  • ?????*?查找并修改?
  • ?????*/??
  • ????public?function?findAndModify($update?=?array(),$filter?=?array(),$collection?=?'')??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????$collection?=?$this->_collection;??
  • ??????????????
  • ????????????if?(!$collection)?{??
  • ????????????????return?NULL;??
  • ????????????}??
  • ????????}??
  • ??????????
  • ????????return?$this->runCommand(array('findAndModify'=>$collection,'query'?=>?$filter,'update'=>$update));??
  • ????}??
  • ????/**?
  • ?????*?查看對本集合執(zhí)行的最后一次操作的錯誤信息或者其它狀態(tài)信息。在w臺服務器復制集合的最后操作之前,這個命令會阻塞?
  • ?????*/??
  • ????public?function?getLastError()??
  • ????{??
  • ????????return?$this->runCommand(array('getLastError'=>1));??
  • ????}??
  • ????/**?
  • ?????*?檢查本服務器是主服務器還是從服務器?
  • ?????*/??
  • ????public?function?isMaster()??
  • ????{??
  • ????????return?$this->runCommand(array('ismaster'=>1));??
  • ????}??
  • ????/**?
  • ?????*?返回所有可以在服務器上運行的命令及相關(guān)信息。?
  • ?????*/??
  • ????public?function?listCommands()??
  • ????{??
  • ????????return?$this->runCommand(array('listCommands'=>1));??
  • ????}??
  • ????/**?
  • ?????*?管理專用命令,列出服務器上所有的數(shù)據(jù)庫?
  • ?????*/??
  • ????public?function?listDatabases()??
  • ????{??
  • ????????return?$this->setDb('admin')->runCommand(array('listDatabases'=>1));??
  • ????}??
  • ????/**?
  • ?????*?檢查服務器鏈接是否正常。即便服務器上鎖了,這條命令也會立刻返回?
  • ?????*/??
  • ????public?function?ping()??
  • ????{??
  • ????????return?$this->runCommand(array('ping'=>1));??
  • ????}??
  • ????/**?
  • ?????*?將集合a重命名為b,其中a和b都必須是完整的集合命名空間(例如"test.foo"代表test數(shù)據(jù)庫中的foo集合)?
  • ?????*?@param?dropTarget?Optional.?If?true,?mongod?will?drop?the?target?of?renameCollection?prior?to?renaming?the?collection.?The?default?value?is?false.?
  • ?????*?用法.?$fromCollection?=?'test.demo'?,?$toCollection?=?'test.demo1'?,一定要加數(shù)據(jù)庫前綴?
  • ?????*/??
  • ????public?function?renameCollection($fromCollection,$toCollection,$dropTarget?=?false)??
  • ????{??
  • ????????if?(!$fromCollection?||?!$toCollection)?{??
  • ????????????return?false;??
  • ????????}??
  • ??????????
  • ????????return?$this->setDb('admin')->runCommand(array('renameCollection'=>$fromCollection,'to'=>$toCollection,'dropTarget'=>$dropTarget));??
  • ????}??
  • ????/**?
  • ?????*?修復并壓縮當前數(shù)據(jù)庫,這個操作可能非常耗時。?
  • ?????*/??
  • ????public?function?repairDatabase()??
  • ????{??
  • ????????return?$this->setDb('admin')->runCommand(array('repairdatabase'=>1));??
  • ????}??
  • ????/**?
  • ?????*?返回這臺服務器的管理統(tǒng)計信息。?
  • ?????*/??
  • ????public?function?serverStatus()??
  • ????{??
  • ????????return?$this->runCommand(array('serverStatus'=>1));??
  • ????}??
  • ????/**?
  • ?????*?創(chuàng)建集合?
  • ?????*?$options?=?array('autoIndexId','capped','size','max','flags');?
  • ?????*/??
  • ????public?function?createCollection($collection,$options?=?array())??
  • ????{??
  • ????????$options['create']?=?$collection;??
  • ??????????
  • ????????return?$this->runCommand($options);??
  • ????}??
  • ????/**?
  • ?????*?刪除集合?
  • ?????*/??
  • ????public?function?dropCollection($collection)??
  • ????{??
  • ????????if?(!$collection)?{??
  • ????????????return?NULL;??
  • ????????}??
  • ??????????
  • ????????return?$this->runCommand(array('drop'=>$collection));??
  • ????}??
  • }??

  • 部分用法如下:

    [php] view plain copy
  • $config?=?array(??
  • ????????????????'mongo_seed1'?=>?C('mongo_seed1'),??
  • ????????????????'mongo_seed2'?=>?C('mongo_seed2'),??
  • ????????????????'mongo_replname'?=>?C('mongo_replname'),??
  • ????????????????'mongo_user'?=>?C('mongo_user'),??
  • ????????????????'mongo_pwd'?=>?C('mongo_pwd')??
  • ????????);??
  • ???????????
  • ????????$mongoObj?=?new?\Org\Util\TmongoDB($config,'demo','test');??
  • ??????????
  • ????????$insert?=?array(??
  • ????????????????array(??
  • ????????????????????????'name'=>?'走令敏',??
  • ????????????????????????'age'=>?24,??
  • ????????????????????????'address'?=>?'江西省贛州市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?5500??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'皇兄文',??
  • ????????????????????????'age'=>?24,??
  • ????????????????????????'address'?=>?'江西省撫州市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?6000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'周李菲',??
  • ????????????????????????'age'=>?23,??
  • ????????????????????????'address'?=>?'江西省上饒市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?5000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'主力科',??
  • ????????????????????????'age'=>?25,??
  • ????????????????????????'address'?=>?'江西省上饒市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?1000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'夜舟',??
  • ????????????????????????'age'=>?25,??
  • ????????????????????????'address'?=>?'江西省上饒市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?7000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'周倩倩',??
  • ????????????????????????'age'=>?23,??
  • ????????????????????????'address'?=>?'江西省上饒市',??
  • ????????????????????????'gender'?=>?'女',??
  • ????????????????????????'salary'?=>?7000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'網(wǎng)點保',??
  • ????????????????????????'age'=>?22,??
  • ????????????????????????'address'?=>?'河南省鶴壁市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?10000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'舒玉婷',??
  • ????????????????????????'age'=>?24,??
  • ????????????????????????'address'?=>?'江西省上饒市',??
  • ????????????????????????'gender'?=>?'女',??
  • ????????????????????????'salary'?=>?6000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'少見波',??
  • ????????????????????????'age'=>?27,??
  • ????????????????????????'address'?=>?'遼寧省吉林市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?20000??
  • ????????????????),??
  • ????????????????array(??
  • ????????????????????????'name'=>?'李存平',??
  • ????????????????????????'age'=>?25,??
  • ????????????????????????'address'?=>?'江西省吉安市',??
  • ????????????????????????'gender'?=>?'男',??
  • ????????????????????????'salary'?=>?6000??
  • ????????????????)??
  • ????????);??
  • ??
  • ????????$arr?=?array();??
  • ??
  • ????????for?($i?=?0;$i?<?10;++$i)?{??
  • ????????????for?($j?=?0;$j?<?10;++$j)?{??
  • ????????????????$key?=?$i*10?+?$j;??
  • ????????????????$arr[$key]?=?$insert[$j];??
  • ????????????????$arr[$key]['num']?=?$key;??
  • ????????????????$arr[$key]['_id']?=?new?\MongoDB\BSon\ObjectID;??
  • ????????????}??
  • ????????}??
  • ???????????
  • ????????$starttime?=?microtime(true);??
  • ????????$result?=?$mongoObj->insertStatement($arr,true)->execute()->getInsertedCount();;??
  • ????????$endtime?=?microtime(true);??
  • ????????echo?'執(zhí)行時間:',($endtime?-?$starttime),'秒<br?/>';??
  • ????????echo?$result;??
  • ??????
  • ????????echo?'ping';??
  • ????????//?查詢所有的記錄??
  • ????????$result?=?$mongoObj->runCommand(array('ping'=>1));??
  • ????????dump($result);??
  • ??????????
  • ????????echo?'<br/>,getLastError';??
  • ????????$error?=?$mongoObj->getLastError();??
  • ??????????
  • ????????dump($error);??
  • ??????????
  • ????????$result?=?$mongoObj->buildInfo();??
  • ??????????
  • ????????echo?'<br/>,buildInfo';??
  • ????????dump($result);??
  • ??????????
  • ????????$result?=?$mongoObj->collStats('test');??
  • ??????????
  • ????????echo?'<br/>,collStats';??
  • ????????dump($result);??
  • ??????????
  • ????????$result?=?$mongoObj->distinct('salary',array('num'=>array('$gt'=>20)));??
  • ??????????
  • ????????echo?'<br?/>,distinct';??
  • ??????????
  • ????????dump($result);??
  • ??????????
  • ????????$result?=?$mongoObj->isMaster();??
  • ??????????
  • ????????echo?'<br?/>,isMaster';??
  • ????????dump($result);??
  • ??????????
  • ????????$result?=?$mongoObj->listCommands();??
  • ??????????
  • ????????echo?'<br/>,listCommands';??
  • ??????????
  • ????????dump($result);??
  • ??????????
  • ????????$result?=?$mongoObj->listDatabases();??
  • ????????echo?'<br/>,listDatabases';??
  • ???????????
  • ????????dump($result);??
  • ???????????
  • ????????$result?=?$mongoObj->serverStatus();??
  • ????????echo?'<br/>,serverStatus';??
  • ??????????
  • ????????dump($result);??
  • ????????$result?=?$mongoObj->renameCollection('demo.hello',?'demo.hello123');??
  • ????????echo?'<br/>,renameCollection';??
  • ???????????
  • ????????dump($result);??
  • ??????????
  • ????????$result?=?$mongoObj->createCollection('ceshi');??
  • ????????echo?'<br/>,createCollection';??
  • ??????????
  • ????????dump($result);??
  • ????????$result?=?$mongoObj->dropCollection('demo1');??
  • ??????????
  • ????????echo?'<br?/>,dropCollection';??
  • ????????dump($result);??


  • 來源:http://blog.csdn.net/zhulike2011/article/details/50422391

    總結(jié)

    以上是生活随笔為你收集整理的MongoDB for PHP扩展操作类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    四虎国产精品永久在线国在线 | 欧美日韩国产免费视频 | 精品久久在线 | 麻花豆传媒mv在线观看网站 | 中文在线8新资源库 | 国产精品久久久久av福利动漫 | 美女在线免费视频 | 人人插人人射 | 激情网站| 国产精品黑丝在线观看 | 久久99久国产精品黄毛片入口 | 91麻豆精品一区二区三区 | 黄色大片免费播放 | 精品久久久久久久久久岛国gif | 97夜夜澡人人双人人人喊 | 久久高视频 | 久久精品视频免费观看 | 日韩高清精品免费观看 | 五月激情电影 | a国产精品 | 999视频在线播放 | 在线免费看黄网站 | 成人亚洲免费 | 日日爽 | 成人在线观看免费视频 | 欧美亚洲国产精品久久高清浪潮 | 亚洲乱码国产乱码精品天美传媒 | 91毛片视频 | 日韩国产在线观看 | 中文字幕免费观看全部电影 | 亚洲最大激情中文字幕 | 欧美性黄网官网 | 二区三区av | 中文av在线免费观看 | 91成人破解版 | 色先锋资源网 | 国产明星视频三级a三级点| 国产精品12 | 色在线中文字幕 | 国产精品福利在线 | 九九热只有这里有精品 | 亚洲精品久久久久久久不卡四虎 | 精品一区二区免费 | 婷婷激情影院 | 久艹在线观看视频 | 欧美一区二区三区在线播放 | 国产黄色精品在线 | 草久在线视频 | 天天干天天射天天爽 | 在线观看日韩视频 | 婷婷色在线观看 | 免费日韩视频 | 在线99视频| 99欧美视频 | 免费高清无人区完整版 | 国产精品免费久久 | 国产精品永久 | 国产粉嫩在线观看 | 日韩欧美aaa | 国产精品青草综合久久久久99 | 黄色片免费电影 | 日韩一级成人av | 国产1级视频 | 91干干干 | 国内精品久久久久影院优 | 丁香婷婷久久久综合精品国产 | 精品美女久久久久久免费 | 久久久精品综合 | 麻豆成人在线观看 | 69久久久久久久 | 亚洲高清视频在线播放 | 二区三区av | 欧美午夜精品久久久久久孕妇 | 天天操导航| 婷婷久久网 | 伊人久久影视 | 国外av在线 | 日韩性片 | 超碰公开在线 | 99久久精品电影 | 久久久久综合精品福利啪啪 | 美女国产在线 | 国产日韩欧美在线 | 在线观看亚洲视频 | 久久九九久久精品 | 99热这里只有精品久久 | 在线观看视频中文字幕 | 成年人电影免费在线观看 | 日韩一区二区三区高清在线观看 | 99精品视频免费观看 | 日韩高清三区 | 婷婷久久久| 日韩啪视频 | 日韩av手机在线观看 | av女优中文字幕在线观看 | 欧美日韩精品影院 | 日韩精品在线看 | 91视频 - 88av | 亚洲观看黄色网 | 国产精品一区在线观看 | 一区二区三区福利 | 天天射天天艹 | 国产一级免费电影 | 91在线区| 精品一区二区三区四区在线 | 久久激情综合网 | 最近日本字幕mv免费观看在线 | 黄色成人小视频 | 成人精品影视 | 免费观看完整版无人区 | 国产精品女 | 最近免费中文字幕大全高清10 | 日b视频在线观看网址 | 超碰97国产精品人人cao | 十八岁免进欧美 | 日日插日日干 | 日日干夜夜骑 | 玖玖爱在线观看 | 日韩在线二区 | 国产精品毛片一区二区 | 婷婷六月天天 | 免费三级大片 | 国产美女精彩久久 | 免费在线观看视频一区 | 亚洲一区二区三区四区精品 | 天天狠狠操 | 中文字幕xxxx| 亚洲最大av在线播放 | 中文字幕在线观看网站 | 黄色av一区二区 | 精品av在线播放 | 婷婷中文在线 | 久久看片网| 黄色的片子| www.天天成人国产电影 | 亚洲精品乱码久久久久v最新版 | 亚洲午夜电影网 | 天天看天天操 | av在线免费网站 | 91久久奴性调教 | 日韩在线视频免费观看 | 亚洲精品婷婷 | 久久高清片 | 九九久久久久久久久激情 | 亚洲婷婷综合色高清在线 | 四虎免费在线观看视频 | 久久婷婷精品视频 | 久久99精品久久久久久久久久久久 | 色婷婷电影网 | 在线观看完整版 | 亚洲女人av | 久久国产精品99久久久久久丝袜 | 久久久久久蜜av免费网站 | 欧美小视频在线观看 | 国产精品一区二区三区四区在线观看 | 国产99久久 | 激情伊人五月天 | 一区二区三区免费在线观看视频 | 综合婷婷 | 国产aaa大片 | 日韩av播放在线 | 一区二区三区日韩在线观看 | 午夜久久久精品 | 日韩精品免费一区二区在线观看 | 日韩久久精品一区二区 | 狠狠五月天 | 日韩美在线观看 | 中文字幕免费不卡视频 | 亚洲一区美女视频在线观看免费 | 夜夜夜夜爽 | 国产伦精品一区二区三区照片91 | 欧美片网站yy| 6699私人影院 | 五月婷香 | 免费污片 | 中文字幕在线观看播放 | 亚洲成人蜜桃 | 国产粉嫩在线观看 | 成人免费观看在线视频 | 不卡的av电影在线观看 | 狠狠干在线 | 久久久久久国产精品999 | 国产精品久久久久久电影 | 国产无遮挡又黄又爽馒头漫画 | 色欧美视频 | 亚洲精品乱码久久久久久蜜桃91 | 色综合色综合久久综合频道88 | 天天看天天干 | 激情久久久久 | 四虎欧美 | 欧美精品久久久久久久 | 亚洲综合激情小说 | 麻花豆传媒一二三产区 | 狠狠天天 | 日韩一二三 | 成人黄色电影免费观看 | 久久免费国产电影 | 亚洲成a人片77777潘金莲 | 怡红院av久久久久久久 | 成人91在线观看 | 国产色视频123区 | 99精品视频播放 | 日韩在线观看视频一区二区三区 | 色综合久久88色综合天天6 | 狂野欧美激情性xxxx欧美 | 午夜精品一区二区三区免费视频 | 激情小说久久 | 免费精品人在线二线三线 | 免费色av | 一区二区三区免费在线观看视频 | 亚洲一区尤物 | 久久99精品国产麻豆宅宅 | 亚洲乱码中文字幕综合 | 69久久久久久久 | 久久国内精品视频 | 色妞久久福利网 | 精品产品国产在线不卡 | 国产日韩一区在线 | 欧美色图另类 | 欧美福利片在线观看 | 亚洲成人av一区二区 | 国产精品久久婷婷六月丁香 | 久草在线视频首页 | 国产精品一区二区三区免费看 | 国产色道| 免费精品在线视频 | 97电影网手机版 | 日韩动态视频 | 日韩有码欧美 | 欧美视频在线观看免费网址 | 精品久久久久久久久久 | 黄色毛片一级片 | 日韩在线播放视频 | 最近中文字幕国语免费高清6 | 日韩av在线高清 | 欧美黑人巨大xxxxx | 草久在线视频 | 免费黄色在线播放 | 国产精品免费在线观看视频 | 99精品在线视频观看 | 五月婷婷综合激情网 | 黄色一级免费 | 国产精品嫩草在线 | 成年人在线免费看 | 国产一级片毛片 | 天天干天天摸天天操 | 综合久久久 | 中文字幕在线免费 | 精品在线一区二区 | 久久久精品国产一区二区电影四季 | 国产精品成人免费精品自在线观看 | 色综合久久久久久中文网 | 免费看成人| 日韩在线观看视频中文字幕 | 99 国产精品| 亚洲精品高清在线 | 91麻豆精品国产自产在线 | 亚洲精品系列 | 欧美激情综合五月色丁香 | 亚洲另类视频在线 | 欧洲精品码一区二区三区免费看 | 超碰在线个人 | 欧亚久久 | 婷婷 综合 色 | 久草在线免费资源 | 久草在线免费看视频 | 日韩精品一区二区三区免费观看视频 | 久久国产精品影片 | 日韩精品一区二区三区丰满 | 亚洲国产精品成人女人久久 | 91精品国产一区 | 午夜久久久久久久久久久 | 青草草在线视频 | 在线看av的网址 | 免费在线观看日韩欧美 | 欧美日韩高清在线一区 | 国产h在线播放 | 超碰在线公开免费 | 国产不卡在线观看 | 日韩大片免费观看 | 精品视频久久 | 黄色com| 日韩在线色 | 国产黄色成人 | 久久久久久久免费看 | 色综合久久五月 | 天天操天天操天天操天天操 | 日本中文字幕视频 | 青春草视频在线播放 | 国产a视频免费观看 | 午夜久久久久 | 免费看网站在线 | 女人18毛片a级毛片一区二区 | 国产美腿白丝袜足在线av | 射久久| 中文字幕在线影院 | 天天玩天天操天天射 | 国产在线精品播放 | 国产亚洲精品无 | 碰超在线观看 | 91在线免费看片 | 成人av片在线观看 | 成人h视频 | 精品美女在线观看 | 欧美 高跟鞋交 xxxxhd | 国产福利一区二区三区在线观看 | 中国一级片在线观看 | 亚洲一区二区黄色 | 国内毛片毛片 | 天天操网址 | 黄网站色视频免费观看 | 色综合天天爱 | 国产精品成人久久久久 | 免费在线观看污网站 | 久久一视频 | 欧美精品久久久久久久久久久 | 欧美一区二区三区在线视频观看 | 国产午夜在线观看视频 | a视频免费看| 色资源网免费观看视频 | 亚洲成av人影片在线观看 | 欧美视频xxx | 婷婷色网 | 久久久久久久免费观看 | 国产专区视频在线观看 | 综合色久| 精品在线免费视频 | 午夜av日韩 | 久青草电影 | 欧美激情综合色 | 最近中文字幕免费观看 | 97影视| 国产精品日韩欧美一区二区 | 久久久久久久久久久国产精品 | 一区 二区电影免费在线观看 | 中文字幕在线观看第一页 | 欧洲亚洲女同hd | 成人午夜精品久久久久久久3d | 国产看片免费 | 日韩精品一区二区三区不卡 | 91亚色视频在线观看 | 在线免费中文字幕 | 91精品国产一区二区三区 | 亚洲色五月 | 国产色秀视频 | 久久精品—区二区三区 | 一区二区三区高清在线观看 | 国产经典三级 | 超碰av在线 | 91资源在线播放 | 人人添人人澡人人澡人人人爽 | 91片黄在线观看动漫 | 中文字幕在线观看完整版电影 | 激情五月在线视频 | 久久综合九色综合97_ 久久久 | 亚洲在线精品 | 国产美女免费看 | 91视频-88av | 欧美成年网站 | 欧美精品在线观看免费 | 日韩av在线不卡 | 欧美成年性 | 91中文字幕在线视频 | 日韩国产欧美在线视频 | 九九99视频 | 国产成人在线网站 | 免费影视大全推荐 | 久久一区91| 国产精品99精品久久免费 | 97视频在线观看播放 | 久久黄色免费 | 97视频在线 | 国产尤物视频在线 | 欧美另类交人妖 | 久久久久一区二区三区四区 | 99久久夜色精品国产亚洲96 | 国产一级在线观看视频 | 91av蜜桃| 黄色片视频免费 | www.亚洲精品视频 | 午夜婷婷在线播放 | 粉嫩av一区二区三区入口 | 欧美性生交大片免网 | 色www精品视频在线观看 | 激情综合狠狠 | 久久av免费电影 | 中文字幕在线中文 | 在线观看91av | 中午字幕在线 | 岛国一区在线 | 伊人久久国产精品 | 爱av在线网 | 99免费观看视频 | 国产资源在线观看 | 免费人成在线观看 | 91视频网址入口 | 国产精品18久久久久久久久 | www.伊人网| 三级性生活视频 | 国产成人精品999在线观看 | 免费日韩视 | 色橹橹欧美在线观看视频高清 | 二区中文字幕 | 激情综合一区 | 18女毛片| 日韩电影在线观看中文字幕 | 欧美日韩精品综合 | 精品国产一区二区三区在线观看 | 特级西西人体444是什么意思 | 81国产精品久久久久久久久久 | 亚洲三级影院 | 国模一二三区 | 999久久久欧美日韩黑人 | 日日干,天天干 | 久久久国产一区二区三区四区小说 | 国产精品久久久久久久久久直播 | 久久影院午夜论 | 毛片永久新网址首页 | 毛片3 | 日韩系列| 超碰97公开| 久久久69| 亚洲日本成人网 | 青青草华人在线视频 | 国产精品久久中文字幕 | 亚洲精品国产欧美在线观看 | 99精品视频免费看 | 久草视频在线新免费 | 亚洲精品高清一区二区三区四区 | 91精品视频免费看 | freejavvideo日本免费 | 久久婷婷开心 | 在线视频国产区 | 看av免费网站 | 免费看国产a | 黄色影院在线播放 | 国产成人一二三 | 999色视频 | 久久 在线 | 天天操天天操天天操天天操天天操 | 波多野结衣在线视频免费观看 | 午夜性生活片 | 在线免费观看黄色av | 91久久精品一区 | 青青河边草免费观看完整版高清 | av中文字幕第一页 | 麻豆一区在线观看 | 国产69久久久欧美一级 | 91热这里只有精品 | 久久久久女人精品毛片九一 | 亚洲免费av片 | 精品免费国产一区二区三区四区 | 在线一二区 | 亚洲综合欧美激情 | 免费h精品视频在线播放 | 亚洲精品黄色片 | 国产精品免费观看国产网曝瓜 | 亚洲一区av| 天天爱av导航 | 久久精品xxx | 天堂av在线7 | 国产精品麻豆欧美日韩ww | 免费电影一区二区三区 | 人人爱人人做人人爽 | 又污又黄网站 | 中文字幕乱码电影 | 国产裸体无遮挡 | 久久免费的视频 | 亚洲一区二区视频 | 在线成人国产 | 国产午夜精品一区 | 天天天干天天射天天天操 | 日韩资源在线观看 | 成人h视频在线 | 国产精品免费久久 | 在线观看视频你懂的 | 亚洲精品男人天堂 | 91男人影院 | 国产亚洲一区 | 婷婷 中文字幕 | 免费在线观看成人 | 丁香五月缴情综合网 | 91成人免费在线视频 | 在线免费观看涩涩 | 日韩特级片 | 成人网在线免费视频 | 天天操天天拍 | 精品人妖videos欧美人妖 | 2019天天干夜夜操 | 中午字幕在线 | 免费黄色a级毛片 | 久久久久久久久久免费视频 | 成片人卡1卡2卡3手机免费看 | 欧美日韩国产网站 | 黄色一级动作片 | 国产精品一区二区久久精品爱微奶 | 亚洲色图 校园春色 | 91丨九色丨蝌蚪丨对白 | 成人蜜桃视频 | 午夜av在线电影 | 99久久国产免费,99久久国产免费大片 | av中文字幕免费在线观看 | 久久天天综合网 | av7777777 | 国产成人av| 日韩欧美区 | 国产一级高清视频 | 在线黄色免费 | 黄色www | 国产精品美女999 | 97超碰在线久草超碰在线观看 | 久久av影视 | 激情五月开心 | 欧美成a人片在线观看久 | 激情亚洲综合在线 | 免费网站看av片 | 五月婷婷电影网 | 久久精品香蕉 | 色综合天天色 | 综合网成人 | 日韩精品最新在线观看 | 免费看黄在线观看 | a级国产乱理论片在线观看 特级毛片在线观看 | 免费人成在线观看网站 | 国产不卡一区二区视频 | 亚洲综合视频在线播放 | 岛国av在线 | 97超碰资源网| 亚洲h在线播放在线观看h | 成人一区不卡 | 黄色片网站av | 麻豆一精品传二传媒短视频 | 日韩在线观看不卡 | 99热精品久久 | 国产精品久久久久久超碰 | 97视频在线观看成人 | 亚洲人av免费网站 | 久久久一本精品99久久精品 | 久久艹久久 | 午夜神马福利 | 麻花豆传媒一二三产区 | 色www免费视频 | 国产黄色免费看 | 久99视频| 黄色毛片在线观看 | 久久精品欧美一区 | 日日日日日 | 黄色免费网 | av大全在线 | 操高跟美女 | 欧美日韩国产欧美 | 91网址在线看 | 欧美a级成人淫片免费看 | 久久久国产精品人人片99精片欧美一 | 97在线观看视频国产 | 99re热精品视频 | 久久99国产精品免费 | 在线国产91 | 国产资源网站 | 国产91九色蝌蚪 | 免费看特级毛片 | 337p日本大胆噜噜噜噜 | 狠狠躁日日躁夜夜躁av | 五月婷婷黄色 | 日韩中文字幕第一页 | 97超级碰碰碰视频在线观看 | 人人爱在线视频 | 国产99久久九九精品 | 久草国产视频 | www.色午夜.com| 国产日韩精品一区二区 | 亚洲欧洲视频 | 五月激情五月激情 | 美女久久网站 | 国产啊v在线观看 | 免费网站观看www在线观看 | 婷婷国产一区二区三区 | 91 中文字幕 | 久久色中文字幕 | 激情婷婷网| 国产视频在线观看免费 | 欧美性久久久久久 | 国产日韩欧美精品在线观看 | 欧美日韩亚洲第一 | 欧美精品在线一区二区 | 五月婷婷操| 久久99视频精品 | 久久久久欠精品国产毛片国产毛生 | 亚洲成人欧美 | 国产 中文 日韩 欧美 | 久久精品一二三区白丝高潮 | 免费在线观看一区二区三区 | 五月婷婷亚洲 | 9i看片成人免费看片 | 久久免费激情视频 | 97热视频 | 久青草视频 | 免费一级日韩欧美性大片 | 欧美一进一出抽搐大尺度视频 | 狠狠色婷婷丁香六月 | 91欧美日韩国产 | 91插插视频 | 精品国产1区2区3区 国产欧美精品在线观看 | 国产成人精品一区二区三区网站观看 | 国产亚洲精品免费 | 亚洲精品视频在线免费 | 九九视频一区 | 久久99久久99精品免观看软件 | 国产成人精品一区二区三区福利 | 亚洲高清在线观看视频 | 色视频一区 | 国产精品日韩 | 亚洲精品成人网 | 中文有码在线视频 | 精品成人网 | 日韩精品一区二区三区外面 | 黄色三级免费看 | 欧美一区二区日韩一区二区 | 成人免费影院 | 99超碰在线播放 | av在线免费观看网站 | 国产日韩精品一区二区在线观看播放 | 成人av资源 | 五月婷婷中文字幕 | 色99中文字幕 | 中文字幕视频播放 | 91入口在线观看 | 狠狠的操狠狠的干 | 免费视频97 | 久久久综合九色合综国产精品 | 在线免费av网站 | 一区二区成人国产精品 | 人人爽久久涩噜噜噜网站 | 97免费在线观看视频 | 色丁香综合 | 久久精品中文字幕一区二区三区 | 国产精品一区二区av影院萌芽 | 91精品国产一区二区在线观看 | 久久香蕉国产精品麻豆粉嫩av | 二区三区精品 | 国内丰满少妇猛烈精品播 | 高清有码中文字幕 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 久久精品国产第一区二区三区 | 黄色片免费电影 | 国产精品久久久久久久久久久免费看 | 在线免费性生活片 | 黄色在线观看污 | 成人av在线直播 | 天天插夜夜操 | 日本精品在线 | 日一日干一干 | 人人澡人人添人人爽一区二区 | www.888.av| 又黄又爽又湿又无遮挡的在线视频 | 国产中文字幕亚洲 | 久久精品一区二区三 | 免费99精品国产自在在线 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲精品99久久久久久 | 久久手机精品视频 | 日本黄色免费大片 | 亚洲欧洲在线视频 | 中文字幕av在线电影 | 成人网中文字幕 | 精品一区二区影视 | 99在线视频网站 | 九九爱免费视频在线观看 | 超碰在线观看av.com | 99视频导航 | 这里只有精品视频在线 | 精品91久久久久 | 96精品视频 | 久草视频99| 久久艹中文字幕 | 国产精品第 | 夜夜躁日日躁狠狠躁 | 久久精品视频观看 | 在线之家免费在线观看电影 | free,性欧美 九九交易行官网 | 在线99热| 97超碰色| 欧美日韩国产一区二区三区在线观看 | 国产在线观看免费av | 国产激情小视频在线观看 | 日韩乱色精品一区二区 | 九九热视频在线免费观看 | 国产视频69 | 欧美日韩一区二区三区视频 | 天天曰夜夜操 | 久草视频中文在线 | 国产美女精品视频 | 亚洲成人黄色 | 国产精品一区二区av影院萌芽 | 国产中文字幕久久 | 99在线视频免费观看 | 国产区免费在线 | 午夜影院在线观看18 | 又黄又爽又无遮挡的视频 | 天天曰夜夜操 | 欧美一区二区三区在线看 | 精品不卡视频 | 人人爱天天操 | 日韩三级.com | 精品一区二区免费在线观看 | 在线观看中文字幕第一页 | aaa毛片视频 | 日韩精品在线观看视频 | 天天操夜夜干 | 色综合激情网 | 成人网在线免费视频 | 久久精品电影 | 色综合中文字幕 | 国产精品黄色 | 日韩电影在线观看一区二区三区 | 欧美另类网站 | 成人av一区二区三区 | 免费色网站 | 国产麻豆电影在线观看 | 日日天天干| 日韩黄色免费电影 | 国产中文a | 色综合久久88 | 亚洲高清精品在线 | 国产一级黄色免费看 | 欧美在线观看视频一区二区三区 | 国产高清视频在线播放 | 色综合久久中文字幕综合网 | 精品国产一区在线观看 | 成人精品国产免费网站 | www.五月天激情 | 欧美xxxxx在线视频 | 久久超碰99 | 亚洲一区二区精品视频 | 日韩精品不卡在线观看 | 久久精品视频网站 | 99久高清在线观看视频99精品热在线观看视频 | 国产+日韩欧美 | 欧美精品国产精品 | 婷五月激情 | 91免费在线播放 | 国产伦理一区二区三区 | 国产在线色 | 九九精品视频在线看 | 亚洲精品一区二区在线观看 | 精品在线观看一区二区三区 | 99精品视频播放 | 国产精品久久久 | 亚洲精品久久久久999中文字幕 | 久久精品这里精品 | 精品麻豆 | 国产精品成人在线观看 | 久久久久久黄色 | 天天射夜夜爽 | 免费能看的黄色片 | 免费观看xxxx9999片 | 96亚洲精品久久 | 九九av| 日本丰满少妇免费一区 | 911久久香蕉国产线看观看 | 91欧美国产 | 成人免费看电影 | 欧产日产国产69 | 久久久999| 最近中文字幕第一页 | 国产麻豆精品95视频 | 久久只精品99品免费久23小说 | 天天干天天操天天做 | 一级性视频 | 少妇高潮流白浆在线观看 | 99久久久久免费精品国产 | 欧美日韩二区三区 | 91精品啪啪 | 欧美日韩一区二区三区在线免费观看 | 免费看污黄网站 | 日韩欧美视频免费观看 | 日日夜夜骑 | 成人久久久电影 | 黄色三级久久 | 免费av的网站| 久久久久久久电影 | 国产一级黄色片免费看 | 日本久久精 | 欧美一区二区在线刺激视频 | 天天射天天射天天 | av网站手机在线观看 | 成在线播放 | 久久99国产一区二区三区 | 久久 亚洲视频 | 国产免费黄色 | 99国产精品久久久久久久久久 | 久久情侣偷拍 | 久久亚洲精品国产亚洲老地址 | 一二三区在线 | 日日爽天天 | 黄色精品在线看 | 久久综合电影 | 一区二区三区四区五区六区 | 免费日韩av电影 | 91激情视频在线观看 | 日韩欧美视频在线免费观看 | 视频 国产区 | 蜜臀久久99精品久久久无需会员 | 婷婷在线色| 婷婷久久一区二区三区 | 欧美福利网站 | 人人草在线视频 | 国产福利在线 | 开心激情五月网 | 亚洲电影网站 | 天天操天天色天天 | 久久中文欧美 | 日韩av一区二区三区 | 超碰.com| 91资源在线视频 | 亚洲免费av在线播放 | 日韩三级免费观看 | 69av在线播放 | 欧美成人中文字幕 | 欧美极品xxxxx | 99久热在线精品视频观看 | 天天色综合久久 | 国内外成人在线视频 | 国产高清视频在线免费观看 | 97国产大学生情侣酒店的特点 | 欧美成年黄网站色视频 | 久久精品九色 | 国产午夜亚洲精品 | 黄色免费大全 | 中文免费在线观看 | 国产一区二区三区 在线 | 在线a视频免费观看 | 亚洲国产电影在线观看 | 国产一区播放 | 久久久久欧美精品999 | 成年人视频免费在线 | 日韩欧美综合视频 | 亚洲国产成人在线播放 | 69国产在线观看 | 欧美日视频| 一区在线观看视频 | freejavvideo日本免费 | 青春草免费在线视频 | 国产日产亚洲精华av | 成人久久久精品国产乱码一区二区 | ww亚洲ww亚在线观看 | 一本色道久久精品 | 国产精品入口麻豆 | 美女网色| 国产黄大片在线观看 | 尤物97国产精品久久精品国产 | 精品久久久久久久久久岛国gif | 青青河边草免费视频 | 在线影院 国内精品 | 日韩在线字幕 | 狠狠婷婷 | 国产青草视频在线观看 | 免费在线电影网址大全 | 五月婷香| 中文字幕在线观看三区 | 国产成人99久久亚洲综合精品 | 国产亚洲视频在线 | 91在线蜜桃臀 | 免费日韩 精品中文字幕视频在线 | 久久精品久久精品久久精品 | 欧美成人tv | 欧美日韩一区二区免费在线观看 | 六月婷婷色 | 婷婷网五月天 | 国产高清无线码2021 | 麻豆影视网站 | 精品久久五月天 | 日韩免费看视频 | 婷婷在线资源 | www.99热精品| 麻豆视频在线看 | 成人黄色在线视频 | 久久99最新地址 | 久久综合久久综合这里只有精品 | 在线成人高清电影 | 欧美一级电影在线观看 | 999国内精品永久免费视频 | 久久综合导航 | 天天干天天做天天操 | 又色又爽又黄高潮的免费视频 | 日本中文字幕影院 | 在线观看麻豆av | 九九久久久久久久久激情 | 欧美精品久久久久久 | 久草在线资源免费 | 日韩在线国产精品 | 午夜美女视频 | 日韩美女av在线 | 99精品欧美一区二区 | 国产资源网 | 亚洲永久av| 欧美成人精品在线 | 日韩精品不卡在线观看 | 亚洲va韩国va欧美va精四季 | 97网在线观看 | 在线免费精品视频 | 精品一区二区在线看 | 成人全视频免费观看在线看 | 国产精品免费久久久久久久久久中文 | 四虎5151久久欧美毛片 | 国产小视频免费在线观看 | 亚洲午夜久久久综合37日本 | 午夜精品久久久久久久99热影院 | 欧美日韩午夜爽爽 | 天天操天天干天天爱 | 色婷婷免费| 色操插| 色搞搞 | 国产乱视频 | 黄色小说在线免费观看 | 91九色自拍| 国产在线播放一区二区三区 | 亚洲视频分类 | 狠狠躁日日躁狂躁夜夜躁 | 国产一区二区三区高清播放 | 午夜视频一区二区三区 | 欧美日韩高清在线一区 | 色综合久久久 | 欧美性色黄 | 91麻豆传媒 | 夜夜操天天摸 | 久久在线 | 久久一级电影 | 国产日韩中文字幕在线 | 久久久91精品国产一区二区三区 | 日韩欧美视频在线观看免费 | 亚洲涩涩网站 | 在线观看91av | 亚洲最大成人免费网站 | 欧美污网站 | 亚洲人视频在线 | 日韩av手机在线看 | 夜又临在线观看 | 五月婷婷六月丁香 | 天天爱天天操天天干 | 久久国产精品久久久久 | 精品96久久久久久中文字幕无 | 久久躁日日躁aaaaxxxx | 国产精品99久久久久久久久 | 免费av黄色 | 亚洲国产综合在线 | 国产啊v在线 | 正在播放一区二区 | 国产精品一区二区三区99 | 国产精品午夜在线观看 | 婷婷激情五月 | 日日色综合 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 久草成人在线 | 玖玖爱在线观看 | 久久 在线| 456免费视频 | 久久久久久久久久电影 | 久久视屏网 | 免费在线色视频 | 久精品视频 | 丁香在线视频 | 天天操天天操天天操天天操天天操 | 亚洲开心激情 | 在线观看精品国产 | 国产精品综合av一区二区国产馆 | 日韩欧美xxx | 久久免费视频在线 | 亚洲精品无 | 国产精品成人免费 | 久草视频播放 | 婷婷黄色片 | 国产视频中文字幕 | 欧美色噜噜 | 国产精品一区二区三区在线免费观看 | 久久久亚洲影院 | 欧美另类交人妖 | 国产精品丝袜在线 | 久草国产视频 | 亚洲一区天堂 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 国产精品乱码久久久 | 婷婷.com| 免费观看一区二区三区视频 | 亚洲精品福利在线观看 | 91亚色视频| 天天插日日射 | 成人久久久久久久久久 | 欧美精品在线观看免费 | 欧美精品久 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚州日韩中文字幕 | 亚洲精品乱码久久久久久写真 | 日韩成人高清在线 | 亚洲视频久久 | 永久免费视频国产 | 三级av网 | 久久中文欧美 |