|
查询操作
& E1 H, J3 I" y: w, Q; m3 P- $filter["season_id"] = 106;
4 O3 Y- z; X3 F$ T/ G' i4 K% P - //$filter["array.8"] = 'cml123';
' _9 `4 {4 X$ d1 r* V- ~
' o# \9 |* R- P' Y# a9 C* ?- $filter = ["matches.events_id"=>1];) L8 c" Q! n8 B) ]( E
- & Z& m& G: ~5 s
- $filter = ["matches.events_id"=>['$in'=>[2,3,4,5,7]]];
! i. f) r; L j0 @9 ^6 @ - $filter = ["matches.events_id"=>['$lt'=>'8'];
& D% j( X, ~, g3 a: T6 ?! }# y( k# g
# V- I$ ]" t! {6 T
2 C, `1 `5 M5 |- 以上条件说明 http://bbs.cncml.com/forum.php?m ... &extra=page%3D1
& e: q$ z: g9 B& l- g3 i
2 b6 q6 R. N8 {) A8 C! _( Q- $options = [- R2 J$ \7 `/ @( |1 i
- 'projection' => ['_id' => 0,"s_lastid" => 1],
2 X, b2 d4 w( L7 q$ P* b) F - 'limit' => 1, //显示条数1 W8 X; F1 N* Z7 N) Q
- 'skip' => 1 //跳过几条( K" E' B3 g7 d) w! C% G
- ];; e' M& p6 S. T# r7 O
* K% m4 C6 g) g( _' ^' t- $querys = new MongoDB\Driver\Query($filter,$options);
( ?2 p: q% `2 e - $cursors = $manager->executeQuery('football.football_Competition_season_matches', $querys);
! I- ~" h5 D/ Y, P - $schedule= mg_querys($cursors);3 i# H% K& j! ?: w1 X1 z: @
- print_r($schedule);# h/ L' `/ H/ o7 S" ]
复制代码
4 P1 _. |! X2 s7 D; m* L
4 V' v4 o6 E" h0 y7 j0 N& ?: s: H& |; y3 n3 Q, ]/ {" l
+ ?/ H6 t/ }6 h$ r: e) c------------------------------------------------------------------------------------- 一、更新前通过控制台查看数据,查看命令如下 db.sites.find().pretty() 二、通过php实现数据更新,代码如下 <?php // 1.创建数据库连接对象 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); 0 @8 B# h! n! C3 c% @
// 2.创建数据更新对象 $bulk = new MongoDB\Driver\BulkWrite; // 说明:更新index=2的数据,把原来的url更新为现在的内容,multi:只更新匹配到的第一条数据 $bulk->update( ['index' => 2], ['$set' => ['url' => 'https://www.java.com']], ['multi' => false, 'upsert' => false] );
, }/ v3 C/ g: H" [// 3.创建更新操作级别对象 // 说明:MongoDB\Driver\WriteConcern::MAJORITY :抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作 // 1000:等待超时时间 $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); 8 R' J/ C% o- X) L' G6 i
// 4.执行写命令 // 说明:test.sites是test库下的sites集合 // $bulk:更新对象 // $writeConcern:写操作保证级别 $result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
. C2 q: w0 k! l% P$ J$ N! w. H, b# Z// 5.输出更新后的结果 var_dump($result); 代码截图如下: 运行结果截图如下: 三、通过控制台查看更新后的数据,查看命令如下 db.sites.find().pretty()
d) I. Z W8 F$ p. s7 J, u
3 F. L/ E" `& u0 i' G; |% L |