|
查询操作
L. \3 R- @- n; ~- $filter["season_id"] = 106;+ Y4 F" V0 v# Z; T6 y
- //$filter["array.8"] = 'cml123';2 G- \' o2 g/ q( B2 o
3 Y* ]6 r. o9 J- $filter = ["matches.events_id"=>1];3 |0 k2 G$ H9 F9 i3 w9 S2 U6 t1 z
5 H2 Z0 \" W* {- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];
6 s. G4 D- @1 k1 D" S/ O5 z; `8 a+ A6 q - $filter = ["matches.events_id"=>['$lt'=>'8'];
8 x0 d. C7 z* D* ? - 0 @9 \) u) d6 I( A
- , e1 H4 s5 Q. x( ` D
- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D1
& |# |( w4 o4 w8 g) {) f
; X) S7 J; M6 u- x- p- $options = [3 }* H% c' O4 t. ^& M
- 'projection' => ['_id' => 0,"s_lastid" => 1],
4 b3 W% Z4 i) z3 O) K/ V - 'limit' => 1, //显示条数# W _; S. \: n' H; u0 N3 z! A1 z
- 'skip' => 1 //跳过几条
# r, _" i$ \) P* l - ];
6 Y; q9 t; ]2 Q" A, h5 A# t# R - 0 h+ k+ `- `. \/ C3 Q @" U8 ~
- $querys = new MongoDB\Driver\Query($filter,$options); c! s1 B) |0 z G& _9 J b+ y1 Q
- $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);* ~2 [; r! B8 }' p/ K* N1 e& E( q
- $schedule= mg_querys($cursors);9 L$ e! u; s. L: O. P: v: p- T
- print_r($schedule);! t! ^2 f; f6 c- v0 L4 w! t
复制代码 9 w [3 G6 k* ], x3 X
1 G- x- @5 k' o( V1 p% n% p- O X
& g( E7 g4 u0 B$ k
# d( p) w) a+ N7 L) A------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); + L7 r7 \* t7 M8 H7 `, i6 Y
// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] );
- g& D6 b9 U& Z0 }. x8 C, D. }// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); 3 c; U; g0 A% M: L4 f, W; {2 ?
// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
1 B6 Y# ?/ t0 X3 ]// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty() 0 c" E9 {9 Y3 K; f3 O7 R. x7 {
4 @1 j) `; F0 V8 S$ O* x |