/ / ArangoDBオフセットが結合で機能しない - arangodb

ArangoDBオフセットは結合では機能しません - arangodb

次のテーブルがあります:users_categories、users。

users_categoriesオブジェクトはキーのみを持つ "users"フィールドを含んでいるので、私はjoinを作ります:

FOR c IN users_categories
FILTER c._key == "75a65608-7e9b-4e74-be19-76882209e388"
FOR u IN c.users
FOR u2 IN users FILTER u == u2._key
LIMIT 0, 100
RETURN u2

結果:

[
{
"_key": "5b1b68db-9848-4a0a-81b3-775007f16845",
"_id": "users/5b1b68db-9848-4a0a-81b3-775007f16845",
"_rev": "_VXo9gaC---",
"activated": true,
"blocked": false,
"citizenship": "RU",
"city": "Kalinigrad",
"deleted": false,
"email": "trigger.trigg@yandex.ru",
"lastActivityTime": 1501539830209,
"login": "triggerJK",
"name": "Max",
"passportId": "8736e8e4-9390-44e7-9e21-b17e18b1ebd9",
"phone": "89092132022",
"profileName": "Default profile",
"sex": 1,
"surname": "Max"
},
{
"_key": "0965a0d9-fc91-449f-90f8-9086944b1a86",
"_id": "users/0965a0d9-fc91-449f-90f8-9086944b1a86",
"_rev": "_VWjRYHe---",
"activated": true,
"blocked": false,
"citizenship": "AF",
"deleted": false,
"email": "megamozg4@mail.ru",
"lastActivityTime": 1501247531,
"login": "Megamozg4",
"passportId": "20ab7aad-d356-4437-86b2-6dfa9c4467e0",
"phone": "12312334555",
"profileName": "Default profile",
"sex": 1
}
]

LIMIT 1またはLIMIT 0、1を設定した場合は、最初のレコードのみが返されます。ただし、LIMIT 1、N(Nは任意)を設定すると、空の配列が返されるため、offsetは機能しません。

私は間違って何をしていますか?

使用したArangoDB:3.1.10

UPD: どういうわけか、LIMIT 1、Nは最初のレコードだけでなく、最初の2をスキップします。 表示するレコードが2つ以上ある場合、offsetは奇妙に機能します。 githubにissueを作成しました

回答:

回答№1は0

オフセットに関して2つのバグが報告されました。

https://github.com/arangodb/arangodb/issues/2928 https://github.com/arangodb/arangodb/issues/2879

そしてのための修正 LIMIT バージョンv3.1.27とv3.2.1に含まれているので、更新してもう一度テストしてください。