sql >> データベース >  >> NoSQL >> MongoDB

MongoのPHPを使用したJSONのデコード

    MongoDBはしません データをJSONとして保存します。

    貼り付けたドキュメントは、シェルからコピーして貼り付けたようです。これもJSON形式ではありません。この形式は拡張JSONと呼ばれ、MongoDBシェルがjavascriptでデータを表す方法です。MongoDBWebサイトのほとんどの例でも、シンプルで簡単なため、この形式を使用しています。そのため、(言語ドライバーごとに)数十の異なる出力形式を使用するのではなく、MongoDBの公式ドキュメントでは、機能と出力を示すためにシェルを使用しています。

    実際のアンダーレイ形式は、Binary JSON(BSON)と呼ばれます。この形式が表示されることはなく、操作することもありません。

    PHPでMongoDBを操作する場合、知っておく必要があるのは、PHP配列を保存することだけです。 MongoDBから返されるデータもPHP配列です。下にあるディスクフォーマットは関係ありません。

    json_encode()またはjson_decode()を呼び出す必要はありません。

    $collection->find($query) メソッドはMongoCursorというオブジェクトを返します。このオブジェクトを反復処理して、PHP配列となる結果を取得する必要があります。

    foreach($collection->find($query) as $result) {
        var_dump($result);
    }
    

    このコード例では、一度に1つの結果をvar_dump()します。このresult これは「MongoDBドキュメント」と呼ばれ、「MySQL行」に似ています。 MySQLの場合と同様に、アンダーレイプロトコルが何であるか、またはアンダーレイディスクフォーマットが何であるかを知る必要はありません。これは影響しません。

    MongoDB PHPドライバーのチュートリアルを読むことを強くお勧めします: http://us2。 php.net/manual/en/mongo.tutorial.php

    これは、ドライバーがどのように機能するかとともに、概念をもう少しよく説明するはずです:)




    1. ruby Digest ::SHA1インスタンスオブジェクトをシリアル化できますか?

    2. ソートされたセットとuidを保存するための最良の方法をRedisします

    3. カスタム_idフィールドDjangoMongoDBMongoEngine

    4. Mongodbは、すべてのフィールドを1つのフィールドでグループ化し、別のフィールドで並べ替えます