removed usage of 'pushAll' operator

This commit is contained in:
Calgary Michael 2018-02-02 21:47:04 -06:00
parent 9b04391f82
commit 9e80da705a

View File

@ -335,7 +335,7 @@ def update(_doc_cls=None, **update):
value = {key: value}
elif op == 'addToSet' and isinstance(value, list):
value = {key: {'$each': value}}
elif op == 'push':
elif op in ('push', 'pushAll'):
if parts[-1].isdigit():
key = parts[0]
position = int(parts[-1])
@ -344,6 +344,12 @@ def update(_doc_cls=None, **update):
if not isinstance(value, (set, tuple, list)):
value = [value]
value = {key: {'$each': value, '$position': position}}
else:
if op == 'pushAll':
op = 'push' # convert to non-deprecated keyword
if not isinstance(value, (set, tuple, list)):
value = [value]
value = {key: {'$each': value}}
else:
value = {key: value}
else: