rethinkdb - RethinkDB:使用键数组连接表
问题描述
我有表用户喜欢
[
{
"id": "1" ,
"name": "John",
"groups": ["1", "2"]
}
{
"id": "2" ,
"name": "Jack",
"groups": ["1"]
}
]
和表组一样
[
{
"id": "1" ,
"name": "Admin",
"description": "Administrator"
},
{
"id": "2" ,
"name": "Guest",
"description": "Dear guest"
}
]
如何进行 ReQL 选择查询,结果如下
[
{
"id": "1" ,
"name": "John",
"groups": ["Administrator", "Guest"]
},
{
"id": "2" ,
"name": "Jack",
"groups": ["Administrator"]
}
]
?
和
[
{
"id": "1" ,
"name": "John",
"groups": [
{
"id": "1" ,
"name": "Admin",
"description": "Administrator"
},
{
"id": "2" ,
"name": "Guest",
"description": "Dear guest"
}
]
},
{
"id": "2" ,
"name": "Jack",
"groups": [
{
"id": "2" ,
"name": "Guest",
"description": "Dear guest"
}
]
}
]
解决方案
假设 Javascript API 并使用.merge()
命令:
r.table("users").merge(function(user) {
return {
groups: r.table("groups")
.getAll(r.args(user("groups")))
.getField("name")
.coerceTo("array")
};
})
和
r.table("users").merge(function(user) {
return {
groups: r.table("groups")
.getAll(r.args(user("groups")))
.coerceTo("array")
};
})
推荐阅读
- excel - Excel订单书写阿拉伯文本和英文数字
- python - Django - 带有 slug 的公共配置文件 - 如何使用两个用户模型?
- android - Hilt 中的组件依赖项
- html - 访问css关键帧动画中的html属性
- json - POSTMAN 客户端发送正确的 JSON 响应,但 Chrome 浏览器收到 HTML
- parsing - LR解析如何解析这个语法中的单词“ab”:S -> ab | 在 ; T -> 一个
- android - 如何将列表或数组添加到 JsonObject 作为 volley 库的请求体
- c# - 如何传输json数据?
- javascript - 在 NPM 模块中使用样式化组件
- aws-cloudwatch-log-insights - CloudWatchLogs filterLogEvents 空事件