MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wechseln Sie die Sammlung in Mongoengine für die Suchabfrage

Ab mongoengine==0.10.0 mongoengine.context_managers.switch_collection(cls, collection_name) verwendet als "with switch_collection(Group, 'group1') as Group:" im Beispiel funktioniert nicht innerhalb von Funktionen. Es gibt unboundlocalerror . Ein einfacher Umgang mit vorhandenen Ressourcen ist :

Erhalten:

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

Verwenden Sie new_objects.all() um alle Objekte zu bekommen etc.

Zum Speichern:

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