sql >> Base de Datos >  >> NoSQL >> MongoDB

Cambiar colección en mongoengine para buscar consulta

A partir de mongoengine==0.10.0 mongoengine.context_managers.switch_collection(cls, collection_name) usado como "with switch_collection(Group, 'group1') as Group:" en el ejemplo, no funciona dentro de las funciones. Da unboundlocalerror . Una forma sencilla de moverse con los recursos existentes es:

Para obtener:

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

Usa new_objects.all() para obtener todos los objetos, etc.

Para guardar:

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