Php/docs/mongodb.createdbref

提供:Dev Guides
< Php
移動先:案内検索

MongoDB::createDBRef

(PECL mongo >=0.9.0)

MongoDB::createDBRefデータベース参照を作成する


説明

public MongoDB::createDBRef ( string $collection , mixed $document_or_id ) : array

このメソッドは、データベース参照を作るための柔軟なインターフェイスです (MongoDBRef を参照ください)。


パラメータ

collection
データベース参照が指すコレクション。
document_or_id
配列あるいはオブジェクトを渡した場合は、その _id フィールドを参照 ID として利用します。 MongoId あるいはスカラーを渡した場合は、 それ自体を参照 ID として利用します。


返り値

データベース参照配列を返します。

_id フィールドがない配列を document_or_id に渡した場合は、null を返します。


例1 MongoDB::createDBRef() の例

この例は、ドキュメントからデータベース参照配列を作成する方法を示します。


<?php$articles = $db->articles;$article = array( 'title' => 'Test article', 'description' => 'Test article description');$articles->insert($article);$ref = $db->createDBRef('articles', $article);print_r($article);print_r($ref);?>

上の例の出力は、 たとえば以下のようになります。


     Array
     (
         [title] => Test article
         [description] => Test article description
         [_id] => MongoId Object
             (
             )

     )
     Array
     (
         [$ref] => articles
         [$id] => MongoId Object
             (
             )

     )
     

これで、別のドキュメントに $ref を格納して、それを後から MongoDB::getDBRef()MongoCollection::getDBRef() で取得できるようになりました。


例2 MongoDB::createDBRef() の例

この例は、id からデータベース参照配列を作成する方法を示します。


<?php$id = new MongoId('47cc67093475061e3d9536d2');$ref = $db->createDBRef('articles', $id);?>