MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Chèn một đối tượng PHP vào MONGO DB

Cách dễ nhất có lẽ là làm cho đối tượng của bạn "có thể cast" thành một mảng.

Nếu các thuộc tính bạn muốn lưu trữ là public , bạn chỉ có thể làm:

$array = (array)$foo;

Nếu không, một toArray hoặc làm cho nó triển khai Iterator giao diện sẽ hoạt động:

class Foo implements IteratorAggregate {

   protected $bar = 'hello';

   protected $baz = 'world';

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

}

Rõ ràng, bạn cũng có thể sử dụng get_object_vars , Phản chiếu và tương tự thay vì mã hóa danh sách thuộc tính trong getIterator phương pháp.

Sau đó, chỉ cần:

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

Tùy thuộc vào cách bạn muốn lưu trữ các đối tượng của mình, bạn có thể muốn sử dụng DBRefs thay vì lưu trữ tất cả các đối tượng lồng nhau cùng một lúc, vì vậy bạn có thể dễ dàng find chúng riêng biệt sau đó. Nếu không, chỉ cần đặt toArray của bạn phương thức đệ quy.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ trừ

  2. Bộ phân biệt loại trình điều khiển MongoDB C # với lớp chung kế thừa từ lớp cơ sở không chung chung

  3. Làm thế nào để cài đặt trình điều khiển PHP MongoDB cho XAMPP trên OSX?

  4. Mẫu mô-đun Javascript với lệnh gọi lại Ajax

  5. Làm cách nào để thực hiện truy vấn NOT IN trong mongodb mà không cần sử dụng $ nin?