Skip to content

Commit 1d0ee30

Browse files
authored
Merge pull request #177 from jsteemann/feature/improve-get_many-performance
Improve performance of `get_many` method
2 parents ff990fd + 8b35fb4 commit 1d0ee30

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

arango/collection.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -994,18 +994,20 @@ def get_many(self, documents: Sequence[Union[str, Json]]) -> Result[List[Json]]:
994994
"""
995995
handles = [self._extract_id(d) if isinstance(d, dict) else d for d in documents]
996996

997+
params: Params = {"onlyget": True}
998+
997999
request = Request(
9981000
method="put",
999-
endpoint="/_api/simple/lookup-by-keys",
1000-
data={"collection": self.name, "keys": handles},
1001+
endpoint=f"/_api/document/{self.name}",
1002+
params=params,
1003+
data=handles,
10011004
read=self.name,
10021005
)
10031006

10041007
def response_handler(resp: Response) -> List[Json]:
10051008
if not resp.is_success:
10061009
raise DocumentGetError(resp, request)
1007-
docs = resp.body["documents"]
1008-
return [doc for doc in docs if "_id" in doc]
1010+
return [doc for doc in resp.body if "_id" in doc]
10091011

10101012
return self._execute(request, response_handler)
10111013

0 commit comments

Comments
 (0)