1
簡単な方法でRethinkDBで結合を使用しようとしています。RethinkDBでeqJoinで主キーが長すぎます
ドキュメントに示されているようにこれは、私が試したクエリです:
r.table('users')('inventory').default([]).eqJoin('name', r.table('prices')).without({
right: 'name'
}).zip()
私はこのような各ユーザのアイテムリストがあります。
[
{
id: "user1",
inventory: [
{
itemid: '1418676',
name: 'foo'
},
{
itemid: '2849',
name: 'bar'
}
]
},
{
id: "user2",
inventory: [
{
itemid: '98742',
name: 'top'
},
{
itemid: '6217',
name: 'kek'
}
]
}
]
と価格表:
を[
{
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