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

PHP Rekurencyjne wpisywanie kategorii do MongoDB

EDYCJA:Dzięki nowym danym wyraźnie rozumiem, co chcesz osiągnąć.

Więc wyedytowałem moją starą funkcję, jest to nowa, która powinna działać w twoim kodzie. Daj mi znać, abym mógł dostosować w razie potrzeby.

public function setCategories($user_id)
{
    $api = new ApiCategory($user_id);
    $cats = $api->getCategories(); // retrieves structure above

    $newCats = null;
    self::recursiveCatTree($newCats, $cats);
    $this->categories = $newCats;

    $this->save(); // save the entire array of embedded documents

    if($this->getErrors())
        var_dump($this->getErrors);

}

public static function recursiveCatTree(&$result, $parent)
{
    $children = $parent['children'];

    //we unset the children so we dont have manually set every other variable
    unset( $parent['children']);
    $result = new Category();
    $result->attributes = $parent;

    //then loop the children, if no children it wont loop
    // so it will just be an empty    array
    foreach($children as $child)
    {
       $baby = null;
       self::recursiveCatTree($baby, $child);
       $result->children[] = $baby;
    }

}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Eksportuj kolekcję MongoDB do pliku CSV

  2. zapytanie mongodb bez nazwy pola

  3. MongoDB:nie można upsertować, jeśli obiekt zapytania i obiekt aktualizacji zawierają tę samą właściwość , „Nie można zastosować modyfikatora $addToSet do innej tablicy”

  4. Jak zwrócić wartości wariantów każdego produktu, jeśli ten produkt jest wariantem?

  5. MongoDB i C# Find()