2017-08-16 30 views
-2

私のWebプロジェクトに関するお勧めを取得したいと思います。私はPHPとMongoDBを使用していますが、私はこの文をPHPのドキュメントから読むと混乱しました。MongoClientクラスとMongoDB Driver Managerクラス

このクラスを定義するこの拡張機能は推奨されていません。代わりに、MongoDB拡張を使用する必要があります。 MongoDB \ Driver \ Manager

すでにMongoClient ClassをCRUDに使用していましたが、その文章を読んだ後、MongoClientをMongoDB \ Driver \ Managerに移行しようとしました。 MongoDBの\ドライバ\ Managerを使用して接続がsuccessedが、私はもうありませんでした:(

私のPHPのバージョンは5.6.29です。 Mongoの拡張バージョン1.7.0 MongoDBの拡張版である1.2.9

です私の質問は以下のとおりです。?? 私はMongoDBの\ドライバ\マネージャクラスを使用する必要がありますか はそれがMongoClientクラスよりも優れている

答えて

0

ここで非推奨の言語機能についての良い答えです: What does PHP do with deprecated functions?

そして、ここでのMongoDBとPHPのための適切な使用法です:

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); 
$filter = []; 
$options = [ 
    'sort' => ['_id' => 1], 
]; 

$query = new MongoDB\Driver\Query($filter, $options); 
$cursor = $manager->executeQuery('db.collection', $query); 

foreach ($cursor as $document) { 
//... 
} 

ありますが、たとえば、PHPとのMongoDBでCRUD操作のためのチュートリアルがたくさんある:要するにMongoDB PHP tutorial

:あなたは廃止を使うべきではありませんこれはセキュリティ上の理由からであり、将来PHPから削除される可能性があるためです。コードをよく更新してください。

+0

ありがとうございます!もっと聞くことはできますか? MongoDB \ Driver \ Command Classとは何ですか?私はそれがいつ使用されるのか理解できません。 –

+0

"MongoDB \ Driver \ Commandクラスは、**データベースコマンド**を表す値オブジェクトです。例: '$ command = new MongoDB \ Driver \ Command(['ping' => 1]);または' $ command = new MongoDB \ Driver \ Command( "" count "=>" collection "、" query " => $ query]); ' –

+0

次のコマンドでは、この文字列" world "を含むドキュメントを数えることができます:' $ query = ["hello" => "world"]; $ command = new MongoDB \ Driver \ Command( "" count "=>" collection "、" query "=> $ query]);' –

関連する問題