0
文書から情報を削除したいが、コードが実行され、エラーは発生しない。しかし、レコードは削除されない。 私は同じようモンゴDBコマンドを実行しますPHPを使ってmongodbをプルする方法
<?
$m=new Mongo();
$db=$m->database;
$cond=array("id"=>'12345');
$data=array('$pull'=>array("info.sno"=>2));
//I used before this $data=array('$pull'=>array("info"=>array("sno"=>2)));
echo json_encode($data);
$db->info->update($cond,$data);
$st=$db->Command(array("getlasterror"=>1));
?>
私のPHPコードIDを、私はその
{
"id": "12345",
"info": [
{
"sno":1
"name": "XYZ",
"email": "[email protected]"
},
{
"sno":2
"name": "XYZ",
"email": "[email protected]"
}
]
}
のようなデータをhaaveと私はID = 12345のデータを削除したいとinfo.sno = 2:
db.info.update({"id":12345},{'$pull':{"info":{"sno":2}}});
簡単な解説、シェルからのコマンドが機能しているので、PHPで書く方法を理解する必要があります。 –
はいアダムC唯一の違いは正しいことです。私のIDは文字列で、私は整数としてIDを使用しました。私のfiel snoは整数で、文字列として使用しました。なぜ動作しませんでした。 .info.update({"id": "12345"}、{'$ pull':{"info":{"sno": "2"}}}); '正しい方法は' db.info 'です。 update({"id": "12345"}、{'$ pull':{"info":{"sno":2}}}); ' –