查询操作
6 ?# a" w, x* Q$ E" j- $filter["season_id"] = 106;
& U* K1 v5 I* x- T! a - //$filter["array.8"] = 'cml123';
! x' b9 O1 q% W+ V: \4 s9 _ - " K/ T$ o& ?7 N7 y) Q" [. X% v
- $filter = ["matches.events_id"=>1]; o& d5 c( w0 e; Q/ a2 c, Q
- 4 Y- V* D: g1 O+ Q4 X6 s& y, y/ g
- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];# G4 a" c9 J: |( n3 ?* G3 }
- $filter = ["matches.events_id"=>['$lt'=>'8'];0 i8 a; G; r$ E4 R+ k. H) u4 w
- 1 r+ T$ B% u7 |7 ?7 c" |
- ; T* R) W: ?- S) D a$ ]0 Z/ W
- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D1+ Q) N3 E+ r& P0 d- ]
- * ^9 K0 z" e* L( |1 r
- $options = [
% F$ m3 F9 ^/ e - 'projection' => ['_id' => 0,"s_lastid" => 1],
1 `! U. [6 J' x( F& D2 v5 {& K - 'limit' => 1, //显示条数
% v& q% ]; ?0 b. O - 'skip' => 1 //跳过几条8 l1 F, n( {& Q+ l L' @
- ];
9 D$ \! L) B9 j8 e
5 C) N5 E. o3 a- $querys = new MongoDB\Driver\Query($filter,$options);
9 f% Y0 A4 Q0 C - $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);
- d3 V, {) e6 |* c. H8 S/ X, U7 ~7 Y - $schedule= mg_querys($cursors);
2 }; \& f! o& r- ^; S& [ - print_r($schedule);
* O" H: p! Z; ~# x- O, ^
复制代码 3 i. c* I* p; Q1 I" D6 N6 G3 q& j* t
9 l5 S3 D: d+ s8 s8 r. O
" s6 L0 t1 Z4 a9 m. m# U) ?
" z( U/ c7 T' h) V! z) \7 T------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
7 p6 c c- {9 v+ b3 U6 J9 m; Z+ w// 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 s* o' q- j @: {- i- b( [
// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
- X) O" F" l3 ^1 H// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
- L- {& x/ t: P+ J. I; k// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty()
3 b. T3 E* G r% E( B3 Z
" A2 M: ?6 U9 A+ n; o |