2
Foo: {
 id: 100,
 barId: 123, 
 startDate: "12/12/79", //new field to be added 
} ,    

Bar: { 
 id: 123,
 startDate: "12/12/79",
}

すべてのドキュメント タイプ 'Foo' で、ドキュメント タイプ 'Bar' から値を取得する新しいプロパティ 'startDate' を作成する必要があります。

すべての「Foo」ドキュメントには、Bar (「BarId」と呼ばれるフィールド) への「外部キー」が含まれています。

すべてのエンティティをプログラムで取得および更新する以外に、最も簡単な方法は何ですか? (Couchbaseのバージョンは3.0)

4

3 に答える 3

4

SQL UPDATEに似た宣言型ソリューションを意味していると思います。そのようなことは CB 3 では利用できませんが、CB 4.1 以降、N1QL には UPDATE ステートメントがあります。http://developer.couchbase.com/documentation/server/4.1/n1ql/n1ql-language-reference/update.htmlを確認してください。

于 2016-04-25T08:51:27.533 に答える
4

TAMが言ったように、おそらくN1QLCouchbase 4.1のUPDATEステートメントでそれを行うことができます...しかし、あなたは3.0を使用しています.

Couchbase 3.x では、次のように書くのが最善です。

  1. viewタイプのすべてのドキュメントの ID を取得できるaFoo
  2. SDK を使用して次のことを行うスクリプト:
    1. そのビューを照会する
    2. Foo各ドキュメントを取得する
    3. ドキュメントBarのコンテンツから ID を取得するFoo
    4. Barドキュメントを取得する
    5. それに応じてコンテンツを更新し、ドキュメントをデータベースFooに保存(更新)しますFoor
于 2016-04-25T10:50:04.603 に答える