查询操作
' @) L& j6 H4 g# N- $filter["season_id"] = 106;
; b" w# R2 `6 Y: B2 d! E* N - //$filter["array.8"] = 'cml123';& t2 K6 \ d1 R2 r
- 9 J/ t; c7 t- j, T, _4 _0 k8 K
- $filter = ["matches.events_id"=>1];
: W$ c* x5 T6 N$ F - : J$ _# V* @4 N }
- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];3 b( F/ o+ a$ p1 c* P5 a2 ^
- $filter = ["matches.events_id"=>['$lt'=>'8'];
6 A4 @" t& J2 Z
0 s# ?9 T9 a. W
$ @1 f$ b( m+ i" i7 _# I- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D12 y9 n1 [1 W2 I$ v2 f& h6 ~
. `7 [7 k$ I* J, K) r3 a- $options = [* C% Z0 b X+ G) B. T
- 'projection' => ['_id' => 0,"s_lastid" => 1],
; }6 H6 M, b/ z+ W8 n+ [" F# P - 'limit' => 1, //显示条数
. J2 m& N5 S) I- M# R9 O - 'skip' => 1 //跳过几条( `' u+ O& l. N. N+ b4 x( A
- ];
0 g& u8 [, F) g9 ?
2 r. q! ]/ o% `' F$ k. j& k/ T' a- $querys = new MongoDB\Driver\Query($filter,$options);. b( z- J4 V& B$ [2 B
- $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);
% v5 R3 t: S* Z8 L0 `- F& k \; F - $schedule= mg_querys($cursors);7 _5 i, Y! v& q) f( V
- print_r($schedule);7 z4 x7 g0 I5 ^/ t
复制代码
* L; I/ n1 H. \ o6 v; M, A' g
: g! Y. b' P: N% v+ R! a9 {( r. E, x/ f7 d( e: u; `0 T$ ?
! U. ~/ i2 M* T$ I9 }% D------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
- _" ] ?) f9 k& V- s: c// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] ); ; ]) M, d9 w# E0 k+ U2 b" L( N0 S! v
// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
" Z6 U3 v! l, Z3 @% p// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern); ' w% d [+ a. ]% n+ N
// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty()
, B0 \3 b, E @" F3 Z2 G4 D
( g$ I8 ]! w- j1 p5 c9 a( q" Z |