Couchbase N1QL 连接查询
Couchbase N1QL join query
在 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"
}
]
假设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;
在 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"
}
]
假设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;