查询操作 ) c- Z8 M# N" Z, E$ H6 T
- $filter["season_id"] = 106;& q V4 A$ q; Z! a2 t/ l
- //$filter["array.8"] = 'cml123';% y7 A+ K$ u; r8 t3 E' B0 l8 @6 }
- ! B* N E0 P0 R0 b8 R4 u
- $filter = ["matches.events_id"=>1];
6 K* g9 \* W$ t" K+ Q$ k, g - z8 E# T6 g# p. h* j' ]8 H9 R
- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];% I" i) y M1 q6 R( W* q+ b
- $filter = ["matches.events_id"=>['$lt'=>'8'];0 A3 ^4 ]3 v' t& l: w0 D( X: W
- ( i' e# `0 Z" O* V% E
: U1 q$ g2 {4 q1 @' y- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D19 l A# l0 [& s8 g# e: [
- C: j" B# T; ? l, s
- $options = [6 e; D; i1 K& ^% g" J9 _( |
- 'projection' => ['_id' => 0,"s_lastid" => 1],8 H; x4 f: V: t# S6 S
- 'limit' => 1, //显示条数0 I0 Z" N: I, p3 {2 e" b
- 'skip' => 1 //跳过几条( I" [1 b- S0 U7 \3 z q9 l- N: X$ c
- ];& L: M& W* \7 ^% \( F0 q
: A) s: C2 T; ~6 I- $querys = new MongoDB\Driver\Query($filter,$options);
% k9 v. `5 W6 f4 [1 C0 p# h' t1 ~9 o - $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);7 [) B5 M- L2 [) ~( L0 p
- $schedule= mg_querys($cursors);- k8 p3 o5 \) o: d0 _8 J$ @
- print_r($schedule);/ S8 t3 H4 l: p6 O0 Y7 E E1 r
复制代码 : L4 `# S% `; ^- j9 v5 P9 A3 E$ g
& F W) d4 S& [+ c/ s
) q! [4 r+ h8 c# Z8 T
# O. n- O9 H3 W; D, v6 \5 S
------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); 9 F' i( s5 {( n3 k7 A+ M6 W M
// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] ); `$ R: m7 y* B6 b3 b m0 N
// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
( m/ ]9 P }1 r7 B/ u! y ^// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern); 8 [9 Z+ `" B# E0 J3 C0 H% j5 s1 N
// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty() 3 w2 d. u5 T$ t- g2 p
4 m* {2 S+ u4 i$ u4 M |