1

MongoDB に「アーティクル」を以下のように _id 整数で保存しています。phpで_idの記事を削除したいのですが、何も起こりません。私が使用するコードは次のとおりです。

$result = $db->arcitle->remove(
    array("_id" =>intVal(41)),
    array('safe' => true)
);

「安全な」オプションを使用する場合と使用しない場合の両方を試しましたが、どちらも機能しません。$result をエコーすると bool(true) です。

どんな提案でも大歓迎です!

{ "_id" : 41,
  "when" : Date( 1333318420855 ),
  "publisher" : "5",
  "title" : "10 Steps To The Perfect Portfolio Website",
  "raw" : "",
  "preview" : "",
  "thumbnail" : "",
  "content" : [ 
    "{}" ],
  "tags" : null,
  "votes" : 0,
  "voters" : [],
  "comments" : [] }
4

1 に答える 1

1

コレクション名にスペルミスがあります。

$result = $db->arcitle->remove(

おそらく次のようになります。

$result = $db->article->remove(array("_id" => 41));

安全なオプションは、何かが削除されたことを確認せず、エラーがなかったことだけを確認します。削除しても、存在しないものを削除してもエラーは発生しません。

> db.foo.remove({_id: "I don't exist"})
> db.getLastError()
null

整数を整数として再キャストする必要はないことに注意してください。入力を整数としてキャストする必要がある場合、キャストステートメントを使用してください。

$string = "42";
$int = (int) $string; // $int === 42
于 2012-04-04T13:15:54.973 に答える