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);
?>