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

PHPオブジェクトをMONGODBに挿入する

    最も簡単な方法は、おそらくオブジェクトを配列に「キャスト可能」にすることです。

    保存するプロパティがpublicの場合 、あなたはただすることができます:

    $array = (array)$foo;
    

    それ以外の場合は、toArray メソッド、またはIteratorを実装させる インターフェースは機能します:

    class Foo implements IteratorAggregate {
    
       protected $bar = 'hello';
    
       protected $baz = 'world';
    
       public function getIterator() {
           return new ArrayIterator(array(
               'bar' => $this->bar,
               'baz' => $this->baz,
           ));
       }
    
    }
    

    もちろん、get_object_varsを使用することもできます 、getIteratorにプロパティリストをハードコーディングする代わりに、Reflectionなど メソッド。

    次に、ちょうど:

    $foo = new Foo;
    $array = iterator_to_array($foo);
    $mongodb->selectCollection('Foo')->insert($array);
    

    オブジェクトの保存方法によっては、ネストされたオブジェクトを一度に保存するのではなく、DBRefを使用して、簡単にfindできるようにすることができます。 後で別々にそれら。そうでない場合は、toArrayを作成してください メソッドは再帰的です。



    1. MongoMapperモデルのHerokurakeタスクの初期化されていない定数

    2. MongoDB $ setIsSubset

    3. Redisとのセッションを保存するのはどのくらい安全ですか?

    4. Redis SortedSet:2つの値のスコアが同じ場合に、アルファベット順ではなく番号順に値を取得するにはどうすればよいですか?