2013-05-30 4 views
0

Mes données comme ceci:tableau d'édition dans MongoDB - PHP

Array 
(
    [_id] => MongoId Object 
     (
      [$id] => 51a6fca3f348aca011000000 
     ) 

    [first_name] => Phan 
    [last_name] => Chuong 
    [interests] => Array 
     (
      [0] => football 
      [1] => swimming 
      [2] => PHP 
      [3] => music 
     ) 

) 

Je veux modifier la valeur PHP à PHP1 ou un ensemble PHP à null. S'il vous plaît aidez-moi comment puis-je le faire? Merci a tous!

Répondre

2

Vous pouvez utiliser la méthode MongoCollection :: update() comme ceci:

// $c is your MongoCollection Object 

$updatedata = array('$set' => array("interests.2" => "PHP1")); 
$id = new MongoID('51a6fca3f348aca011000000') 
$c->update(array("_id" => $id), $updatedata); 

La méthode de mise à jour a besoin de deux tableaux, le premier va dire la DB qui objet de mettre à jour (Dans cet exemple où id = notre id, utilisez toujours l'objet MongoID, toujours!), le second tableau définit ce qu'il faut mettre à jour, notez que vous pouvez accéder aux valeurs des tableaux imbriqués avec le point comme ci-dessus. $ Set est une mise à jour Champ Opérateur, en savoir plus sur eux ici: http://docs.mongodb.org/manual/reference/operator/update-field/

Ou vous pouvez simplement obtenir l'intégralité du tableau, changer, et enregistrez-le en arrière.

$cursor = $c findOne("_id",4cb30f560107ae9813000000); 
$cursor['interests'][2] = 'whatever'; 
$c->update($cursor); 
+0

Merci beaucoup! Je suis a été résolu mon problème. –

Questions connexes