MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Alterne a coleção no mongoengine para encontrar consulta


A partir de mongoengine==0.10.0 mongoengine.context_managers.switch_collection(cls, collection_name) usado como "com switch_collection(Group, 'group1') as Group:" no exemplo não funciona dentro de funções. Dá unboundlocalerror . Uma maneira simples de contornar os recursos existentes é:

Para obter:
new_group = Group.switch_collection(Group(),'group1')
from mongoengine.queryset import QuerySet
new_objects = QuerySet(Group,new_group._get_collection())

Use new_objects.all() para obter todos os objetos etc.

Salvar:
group_obj = Group()
group_obj.switch_collection('group2')
group_obj.save()