2009-06-29 9 views
3

私はRDBMSバックグラウンドから来ています。ここには、スケーラビリティと待ち時間が短いアプリケーションがあります。私はCouchDBに試してみたいです。しかし、固有のキー制約のために特定のINSERT操作が失敗したときを検出する必要があります。 CouchDBはこれをサポートしていますか?私はドキュメントを見ましたが、関連するものは何も見つかりませんでした。CouchDBはunqiueキー制約をサポートしていますか?

+0

プロジェクト自体でも、プロダクションの準備ができておらず、重大な変更がある可能性があることに気づいていますか? http://wiki.apache.org/couchdb/Frequently_asked_questions#is_couchdb_ready_for_production – jitter

+0

ええ、私はオンラインを見て、私はそれを見ましたが、私はこのルートを辿りたいです、私はそれにシステム全体を構築していないので、そのようなスケーラビリティを必要とする特定のコンポーネントの1つだけです。 – thomas55

答えて

2

各ドキュメントの_idは(同じデータベース内で)一意ですが、ドキュメントの他のフィールドには制約はありません。

特に、2つ以上のドキュメントにまたがる制約はありません。

ドキュメントの検証規則を設定するには、validation documentsを設定することができますが、それらはドキュメントごとにドキュメント上にあります。

1

上記のポスターによると、ドキュメント_id以外のフィールドには制約がありません。 _idはcouchdbによって自動的に生成されるか、自分で作成することができます。 (私の目的のために、私は自分の鍵を作って、私がその鍵の一意性を保証できると知っていた)。

最も低いAPIレベルでは、既存のドキュメントIDのPUTリクエストを試行すると、既存のドキュメントの正しいリビジョン(_revプロパティ)を指定しない限り、HTTP 409エラーで拒否されます。

私はcouchdbでミッションクリティカルなものは何も実行しませんでしたが、コードはApacheインキュベーションの外にあり、非常に機能的です。多くの人々がウェブサイトを運営しています。

関連する問題