0

次のようなドキュメントを含むCouch dbにデータベースがあります。

{"foo":["bar1":"baz","bar2":18,"bar3":23.2]}

新しいドキュメントを挿入する前に、各値のバッチ チェックを行う方法はありますか?

私が達成したいのは、データベース内の任意のドキュメントにキーと値のペア foo.bar1 = baz と foo.bar2=1 が存在し、baz が挿入する新しい値と等しい場合、バッチ関数は新しい値を挿入しないことです。資料。

より具体的には、foo.bar は日時であり、その日時が存在し、同じドキュメント内の別の値が特定の値である場合、更新は実行されません。

最初に値のリクエストを行い、次にクライアントに決定させることで、挿入の単一リクエストを行うことでこれを解決できました。しかし、クライアントとソファデータベースの間ですべてのデータがやり取りされるため、非常に時間がかかります。また、この種のチェックを行うときは、データベースの整合性に依存することを好みます。それとも、問題を解決するSQLの方法ですか?

4

1 に答える 1

1

Bulk Document APIを使用する必要があります。必要なキーのリストを _all_docs に送信すると、ステータスを含む応答が返されます。見つからないキーのステータスは「エラー」になります (見つかりません)

于 2013-11-04T16:52:29.980 に答える