MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wstawianie obiektu PHP do MONGO DB

Najprostszym sposobem jest prawdopodobnie uczynienie obiektu "rzucalnym" do tablicy.

Jeśli właściwości, które chcesz przechowywać, są public , możesz po prostu zrobić:

$array = (array)$foo;

W przeciwnym razie toArray lub zaimplementowanie Iterator interfejs będzie działał:

class Foo implements IteratorAggregate {

   protected $bar = 'hello';

   protected $baz = 'world';

   public function getIterator() {
       return new ArrayIterator(array(
           'bar' => $this->bar,
           'baz' => $this->baz,
       ));
   }

}

Oczywiście możesz również użyć get_object_vars , Reflection i tym podobne zamiast na stałe zakodować listę właściwości w getIterator metoda.

Następnie po prostu:

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

W zależności od tego, jak chcesz przechowywać swoje obiekty, możesz chcieć użyć DBRefs zamiast przechowywać wszystkie zagnieżdżone obiekty na raz, dzięki czemu możesz łatwo find je później osobno. Jeśli nie, po prostu ustaw toArray metoda rekurencyjna.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wspólna kolekcja między klientem a serwerem Meteor

  2. MongoDB $pomnóż

  3. Błąd Mongodb nie mógł użyć indeksu tekstowego do spełnienia zapytania $text

  4. Meteor bez mongo

  5. Tablica wyszukiwania MongoDB obiektów według pola (warunki łączenia i nieskorelowane podzapytania)