これが既に存在する場合はドキュメントを置き換えたいのですが、そうでない場合は挿入したいです。どうすればmongoDbでそれを行うことができますか?
私はこのようなものが必要ですが、1つのクエリで:
find by a "where statement"
if exists, replace whole document
else, insert
ありがとうございました!
これが既に存在する場合はドキュメントを置き換えたいのですが、そうでない場合は挿入したいです。どうすればmongoDbでそれを行うことができますか?
私はこのようなものが必要ですが、1つのクエリで:
find by a "where statement"
if exists, replace whole document
else, insert
ありがとうございました!
保存操作を使用することもできます。これは、更新よりもはるかに高速で (私のテストでは x70 高速)、目的に適合しますが、ドキュメント全体を入力することを忘れないでください。
コレクションの更新を使用します。
以下の例では、最初の update 呼び出しがドキュメント (クエリからの名前フィールドを含む) を「挿入または置換」します。2 番目の update 呼び出しは、ドキュメントを挿入するか、ドキュメントの残りの部分をそのままにして Joe のジョブを更新します。違いは「$set」操作です。
<?php
$c->update(
array("name" => "joe"),
array("username" => "joe312", "job" => "Codemonkey"),
array("upsert" => true));
$c->update(
array("name" => "joe"),
array("$set" => array("job" => "Bartender")),
array("upsert" => true));
?>