では、ユーザーと会社のコレクションがあるとしましょう。次に、works_in という名前のエッジ コレクションを作成して、ユーザーと企業を結び付けます。次の aql クエリを使用しています。
FOR user IN Users
LET companies = (FOR company IN (NEIGHBORS(Users, works_in, user._id, 'outbound', [], {includeData:true}))
RETURN {company_name: company.name, company_id: company._id})
RETURN {user, companies}
そして私が得るものは次のとおりです:
[
{
"user": {
"_id": "Users/45645",
"_key": "45645",
"_rev": "45645",
"name": "user1",
"city": "london",
"age": 23
},
"companies": [
{
company_name: "company1",
company_id: "Companies/7897"
},
{
company_name: "company2",
company_id: "Companies/7878"
}
]
},
{
"user": {
"_id": "Users/465454",
"_key": "465454",
"_rev": "465454",
"name": "user2",
"city": "Paris",
"age": 42
},
"companies": [
{
company_name: "company1",
company_id: "Companies/7897"
},
{
company_name: "company3",
company_id: "Companies/788233"
}
]
}
]
ただし、「ユーザー」内にネストされていない「ユーザー」情報を次のように取得したいと思います。
[
{
"_id": "Users/45645",
"_key": "45645",
"_rev": "45645",
"name": "user1",
"city": "london",
"age": 23,
"companies": [
{
company_name: "company1",
company_id: "Companies/7897"
},
{
company_name: "company2",
company_id: "Companies/7878"
}
]
},
{
"_id": "Users/465454",
"_key": "465454",
"_rev": "465454",
"name": "user2",
"city": "Paris",
"age": 42,
"companies": [
{
company_name: "company1",
company_id: "Companies/7897"
},
{
company_name: "company3",
company_id: "Companies/788233"
}
]
}
]
次のような属性をハードコーディングすることで作成できることはわかっています
RETURN {_id: user.id, _key:user._key, companies}
しかし、問題は、表示する属性がたくさんあり、さらにユーザーが特定の属性を持っていない可能性があることです (そのため、「null」として表示されます)。
では、ユーザーを適切に「ネスト解除」する方法を知っている人はいますか? ありがとうございました