1
간단한 방법으로 RethinkDB에서 조인을 사용하려고합니다.기본 키가 너무 길어서 RethinkDB에 eqJoin이 없습니다.
[
{
id: "user1",
inventory: [
{
itemid: '1418676',
name: 'foo'
},
{
itemid: '2849',
name: 'bar'
}
]
},
{
id: "user2",
inventory: [
{
itemid: '98742',
name: 'top'
},
{
itemid: '6217',
name: 'kek'
}
]
}
]
그리고 가격 테이블 :
r.table('users')('inventory').default([]).eqJoin('name', r.table('prices')).without({
right: 'name'
}).zip()
는이 같은 각 사용자에 대한 항목의 목록을 가지고 :
이
는 문서에 표시된 것처럼 내가 시도 쿼리입니다[
{
name: 'foo',
price: 42
},
{
name: 'bar',
price: 41
},
{
name: 'top',
price: 40
},
{
name: 'kek',
price: 69
}
]
하지만 몇 가지 이유로 드라이버에서 오류가 발생합니다 :
e: Primary key too long (max 127 characters): [
"foo",
"bar",
"top",
"kek",
"and all the other items name"
]
이 방법은 완벽하게 작동합니다. concatMap을 사용하여 직접 해결할 수있는 방법을 찾았지만 해결책은 명확합니다. – Maarethyu