|
查询操作 2 w1 q0 g& U/ ?5 w0 B5 f. ~
- $filter["season_id"] = 106;' O6 _6 b1 ~5 _4 W
- //$filter["array.8"] = 'cml123';
) O% k3 F0 G! d/ a# ^, T2 ], C
( o5 s+ y5 l8 F) S- $filter = ["matches.events_id"=>1];
2 d$ l/ @. P, N- ?. b4 Y
% @/ x" c$ f9 @- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];% @3 ^$ H1 E9 P
- $filter = ["matches.events_id"=>['$lt'=>'8'];
) c# O" N5 ^2 [5 F% |+ i - 2 M6 X; L, Z2 t" D. F
! ]5 a# l! ]( y: T, B8 U- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D1% N- s( u5 {) S2 q
3 W- {% ^4 @5 s9 Y( w. |- $options = [1 x/ }3 e; k5 H: ~8 P
- 'projection' => ['_id' => 0,"s_lastid" => 1],
0 ~/ r, E* `, L' N - 'limit' => 1, //显示条数
' f- w8 @) a0 a9 i8 G8 u - 'skip' => 1 //跳过几条6 \, D+ l1 ^( |1 b8 L6 K `
- ];9 s: h$ Q4 o' g% ?9 W4 T& `1 ]
- ( J: d: n5 s+ z+ k8 @3 H3 W% h" R
- $querys = new MongoDB\Driver\Query($filter,$options);
0 @# _8 z! M$ q, H( X - $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);2 `; |& R* _) k. L* t
- $schedule= mg_querys($cursors);* Z9 N6 @! F( l4 o8 ^7 V7 W0 S
- print_r($schedule);% ~! a5 n: I" |0 y+ H U, F
复制代码 5 ]: ~" u3 P" h# l$ I
* D; T, s* s, ?& q) E
( K4 t7 }! d4 p; V
" ]4 v: m T% |- _% e------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
; F, {% i7 m% D- o9 ^/ o6 ^// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] );
4 U4 D# K/ M9 {// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); + x7 V! J2 s0 H% J8 O+ W* y4 k
// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern); - @ ^1 T' Q' @# a+ R
// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty() ( y* [2 X- a3 Y' d- x1 f1 P
! v- g- Y2 ~) k9 P2 [8 I
|