查询操作
# w$ ~0 [; n% V6 U; y8 y- $filter["season_id"] = 106;# \% ]0 [" O' D& A9 q
- //$filter["array.8"] = 'cml123';; _/ C0 r6 T: O$ E* y) J. ~
# j4 q9 h3 ~% N1 s! ~) }0 ^% c6 V- $filter = ["matches.events_id"=>1];2 c" d: t6 r, L) P1 [
/ W" |6 O) q; Z+ D6 z- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];
0 J& P6 h2 j3 t( x8 O$ T - $filter = ["matches.events_id"=>['$lt'=>'8'];
! X" h% N6 R- S5 D
; a0 K7 X1 m: t6 o$ p- ' t) `$ C( t8 `( `% n: {
- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D1- N+ [6 {, o9 H& d, A
- % D4 C' D3 S# y1 O: u
- $options = [) }# K: L/ Y/ U2 V
- 'projection' => ['_id' => 0,"s_lastid" => 1],
0 s1 ?. p3 a1 D: L- Q3 `$ m - 'limit' => 1, //显示条数! L0 L+ D( z3 ]- {# o: d9 b
- 'skip' => 1 //跳过几条0 l% D# W% s! [* f: |+ u, q
- ];
9 D0 P" K& Y4 x% ^1 x+ z z$ C
* w' V7 e1 N* Q- $querys = new MongoDB\Driver\Query($filter,$options);
* j5 G% j6 g, F - $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);
# U7 C t- x1 g9 W - $schedule= mg_querys($cursors);) j+ D c2 z$ ?: D$ }
- print_r($schedule);2 }7 p: s+ c) T6 @
复制代码 h) J' L) ]1 A J$ j
, B+ A# ~4 |+ _7 Z$ }7 `% U" o* Y
+ S2 c1 M2 {6 A$ P$ J5 b* v
! x: m2 [* T( w
------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); ' ~$ O- a; o0 \7 y. |' G) f% U
// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] ); + _5 e4 r$ a& ?- F, t1 Z9 [1 P0 |. p& d
// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); 7 I& G) W9 K3 W( L8 c# t9 }
// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
K/ w% n* ]. k$ \3 J: n( e& V" [9 ~// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty()
, f1 a* N# u: d c; Z* |5 C* J" D4 l: \) ?3 p: }
|