2

Couchbase 環境でのクエリについて助けが必要です。

ドキュメント 1 とドキュメント 2 の両方が同じバケットにあります。

最初に、クエリは次のクエリを使用してドキュメント message1 を取得します。

SELECT uid, message, sent_by FROM bucket USE KEYS "message1"

次に、ドキュメント 2 からユーザー名を取得する必要があります。上記のクエリを使用して、特定のドキュメント名からユーザー名を取得する結合ステートメントを作成するにはどうすればよいですか?

概要

ドキュメント 1 ドキュメント名 = メッセージ1

[
  {
    "uid": "1",
    "message": "hello",
    "sent_by": "username"
  }
]

ドキュメント 2 ドキュメント名 = user1

[
  {
    "username": "username"
  }
]
4

1 に答える 1

8

Document2 の名前が Document1 の uid に基づいている、つまり「user1」が uid=1 に基づいていると仮定すると、次のことができます。

SELECT d1.uid, d1.message, d1.sent_by, d2.username
FROM mybucket d1 USE KEYS "message1"
JOIN mybucket d2 ON KEYS "user" || d1.uid;
于 2016-05-22T17:51:53.767 に答える