Vanaf mongoengine==0.10.0 mongoengine.context_managers.switch_collection(cls, collection_name) gebruikt als "with switch_collection(Group, 'group1') as Group:" in het voorbeeld werkt niet binnen functies. Het geeft unboundlocalerror . Een eenvoudige manier om met bestaande bronnen om te gaan is:
Om te krijgen:
new_group = Group.switch_collection(Group(),'group1')
from mongoengine.queryset import QuerySet
new_objects = QuerySet(Group,new_group._get_collection())
Gebruik new_objects.all() om alle objecten enz. te krijgen.
Om op te slaan:
group_obj = Group()
group_obj.switch_collection('group2')
group_obj.save()