查询操作
+ C$ A1 L( k! {# t2 g" |- $filter["season_id"] = 106;
3 S) Z, F2 }5 n5 }* L( P - //$filter["array.8"] = 'cml123'; R) T! B j' Y) w% z2 u
- 7 D; E8 {+ K# p$ M# W, v6 |9 _
- $filter = ["matches.events_id"=>1];
2 A. \, ~6 b s- L! i& K) `: ^
1 ]0 |5 _* d& A, f. j5 D- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];- D6 p7 C. T$ x# b
- $filter = ["matches.events_id"=>['$lt'=>'8'];6 z2 \$ `4 H+ M9 O
- : G/ o. o5 _' g& G% H ]
R# o, F* j# ~: w0 Y! Z6 C4 a3 r% h- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D19 H3 r; c9 l$ T: F: M
$ C" F E& g4 |; C' L9 ?# a6 ~- $options = [
" V0 F- U$ @' z - 'projection' => ['_id' => 0,"s_lastid" => 1],2 \1 d; n Z) F9 L1 e
- 'limit' => 1, //显示条数
. H4 X2 h" ?# ?' f, [ - 'skip' => 1 //跳过几条$ d, h) l* P' [' C" W
- ];
1 K: K; E: X: t; d" [9 ?
: T+ r8 O# E- O. y, u% N- $querys = new MongoDB\Driver\Query($filter,$options);
& t) v+ J- s1 { - $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);* U- Z% ^; f% o* x. U7 x
- $schedule= mg_querys($cursors);
" K8 Q! _/ y5 m% x, [$ y - print_r($schedule);& l- i/ P9 ~9 Z; H8 y% x# G" R+ U
复制代码 7 U" d# a( U& y( z
1 Y) {" S1 K: [ h% p' y9 o" |# Y
: G- o+ [8 @! c3 y* C
/ Z0 V0 h" Y. |5 D7 L/ p1 H------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); : s4 ~/ J4 y( h. V' J) w% @
// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] ); " H" s( a7 H$ E- r% T
// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
9 G8 n. a; F4 z1 A- V; V// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
9 \5 W! d P }& i h3 d9 ^' v3 @// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty() $ A# v; N* o" D7 L8 J* |# ]
" |. N& h; e0 N- t* ~1 A3 d+ _ |