Skip to content

Commit 9e80da7

Browse files
removed usage of 'pushAll' operator
1 parent 9b04391 commit 9e80da7

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

mongoengine/queryset/transform.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ def update(_doc_cls=None, **update):
335335
value = {key: value}
336336
elif op == 'addToSet' and isinstance(value, list):
337337
value = {key: {'$each': value}}
338-
elif op == 'push':
338+
elif op in ('push', 'pushAll'):
339339
if parts[-1].isdigit():
340340
key = parts[0]
341341
position = int(parts[-1])
@@ -345,7 +345,13 @@ def update(_doc_cls=None, **update):
345345
value = [value]
346346
value = {key: {'$each': value, '$position': position}}
347347
else:
348-
value = {key: value}
348+
if op == 'pushAll':
349+
op = 'push' # convert to non-deprecated keyword
350+
if not isinstance(value, (set, tuple, list)):
351+
value = [value]
352+
value = {key: {'$each': value}}
353+
else:
354+
value = {key: value}
349355
else:
350356
value = {key: value}
351357
key = '$' + op

0 commit comments

Comments
 (0)