MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Changer de collection dans mongoengine pour rechercher une requête

Depuis mongoengine==0.10.0 mongoengine.context_managers.switch_collection(cls, collection_name) utilisé comme "with switch_collection(Group, 'group1') as Group:" dans l'exemple ne fonctionne pas à l'intérieur des fonctions. Cela donne unboundlocalerror . Un simple contournement avec les ressources existantes est :

Pour obtenir :

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

Utilisez new_objects.all() pour obtenir tous les objets etc.

Pour enregistrer :

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