IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mongoDB questions "simple"


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut mongoDB questions "simple"
    Bonsoir (:

    J'ai quelques questions à propos de mongoDB et de son utilisation en php.

    Je dispose d'une page php de ce type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    $db = new Mong();
    $article = $db->myDB->articles
     
    $article = array("titre" => 'MongoDB exemple', 
                 "texte" => 'Ceci est un test d\'article pour tester MongoDB', 
                 "date" =>  '2009-03-03', 
                 "auteur" => 'DJo',
                 "comments" => array(
                      array("texte" => 'Super article !!', 
                        "date" => '2009-03-04',
                        "auteur" => 'Toto'),
                     array("texte" => utf8_encode('Je confirme, le NoSQL ça déchire !'), 
                        "date" => '2009-03-04',
                        "auteur" => 'Novaway')
                 )
            );
     
    $db->articles->insert($article);
    Qui m'ajoute un article et deux commentaires (de cet article) mais je ne vois absolument pas comment faire pour par la suite rajouter uniquement un commentaire à cet article.

    J'ai bien une solution qui consisterait à récuperer tout le array comments puis d'ajouter à la fin mon commentaire et de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $article->update(array('_id' => $id), array('$set' => array('comments' => $comments)));
    $doc = $article->findone(array('_id' => $id));
    Mais je ne vois absolument pas l'interet de faire une manipulation comme celle ci qui est super "lourde" si on veut optimiser ses scripts...

    Quelqu'un de familier avec l'utilisation de mongoDB en php peut t'il m'aider?

    (ps: je ré-explique rapido: ajouter un commentaire à un article existant ^^)

    Cordialement, guillaume.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    si t'as l'id y'a pas de soucis, la tu récupères rien

  3. #3
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Cetait un exemple. Pour montrer la logique.

    Je cherche pas à récuperer quelque chose, je sais comment le faire ça

    Ce que j'aimerais, c'est pouvoir rajouter un commentaire à un article (qui a déjà des comments).

    ^^

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par radicaldreamer Voir le message
    Cetait un exemple. Pour montrer la logique.

    Je cherche pas à récuperer quelque chose, je sais comment le faire ça

    Ce que j'aimerais, c'est pouvoir rajouter un commentaire à un article (qui a déjà des comments).

    ^^
    c'est que je te dis, si t'as l'id de l'article y'a pas de soucis : qu'est ce qui te gene dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $article->update(array('_id' => $id), array('$set' => array('comments' => $comments)));
    le $id tu le récupère via GET ou POST,

  5. #5
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Bah cette ligne me mets à jour le array "comments".

    Mais ne rajoute pas, modifie... Les autres sont écrasés par le nouveau.

    Je n'ai pas d'autre moyen que de récuperer tout le array, de rajouter le dernier commentaire puis ensuite de mettre à jour.

    C'est fastidieux et ça alourdi "pour rien". Ce que je veux savoir, c'est s'il y a une autre solution plus simple qui me mettrait juste un commentaire à la suite.

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est pas un update mais un insert qu'il faut faire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Difference entre [Simple quote] & [Double quote]
    Par Invité dans le forum SQL
    Réponses: 3
    Dernier message: 24/07/2013, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo