|
查询操作 # |; \1 l0 K3 e( C D+ y3 p. Z
- $filter["season_id"] = 106;
" `9 U5 s3 {1 F& s8 p6 T, t3 A - //$filter["array.8"] = 'cml123';
- c+ u5 C% H5 q - 3 D1 V+ m/ a/ U7 C3 \
- $filter = ["matches.events_id"=>1];, N! u+ @, g, c4 B
- $ O" |. l0 ~9 ]
- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];% b, Q& C7 t! H5 ^" c9 ^7 O% h
- $filter = ["matches.events_id"=>['$lt'=>'8'];
, f2 r- T. N. n8 h2 B" Q$ T
' O: a+ N# t: e, `' ^) y- 3 x) M& {( o% Q. P! x% A; ^
- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D1' ^9 u- y% f' h; m# ]/ b; e+ X
- : G* F4 m' W- ~0 l! `6 V/ `! d) ~
- $options = [9 z' g2 O5 m b% r1 n2 }
- 'projection' => ['_id' => 0,"s_lastid" => 1],
% A3 g2 t8 ]: A, y, x; X - 'limit' => 1, //显示条数
3 T. r6 q) v, k - 'skip' => 1 //跳过几条
. z$ D, ~' ?1 g% F0 m - ];
, G/ p0 ]# C, e6 K( y4 S6 ~2 @. ]6 O - " q5 s$ \, z& M
- $querys = new MongoDB\Driver\Query($filter,$options);6 U. r( W7 X5 T! K$ I' S
- $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);
8 _$ Q! R. l6 B3 z0 U - $schedule= mg_querys($cursors);
* g- s: }# c$ s1 J* r! M - print_r($schedule);
P& H" j! ]' Q ?4 z% M% ] n
复制代码 + k1 I" U9 a3 M! C8 v* C
2 ~. |4 x0 v; D& D: K- M0 C. b: w3 P s; |
- Z( O1 J# P# S3 o; K1 Y1 N) x------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
' D" |! z) L4 B3 F% x9 B// 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 v( G7 h9 P+ ?. ^- L0 {
// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); 4 b/ ?* g) Q0 x' Z# F) w9 H
// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
1 X$ D% O/ T; S% b// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty()
: u ~: h9 S `+ }! j' l- x; h3 r5 f' s
& s% q1 F) W/ \; m |