我正在使用mongoDB作为数据库,正在从事django项目,并使用mongoengine与数据库连接。我的问题是,如果我在settings.py
中的默认数据库是DB1
,并且我要删除 DB2
中存在的集合的所有记录,那我该怎么做
settings.py
import mongoengine
mongoengine.connect(
db= "DB1",
host='localhost',
)
models.py
class Resources(Document):
field1= fields.StringField(max_length=20)
field2 = fields.StringField(max_length=70)
field3 = fields.StringField(max_length=70)
field4 = fields.DictField()
meta = {'collection': 'resources', 'allow_inheritance': False, '_target_db': 'DB2'}
python shell
from .models import Resources
import mongoengine
mongoengine.connect('DB2', alias='ces')
ob = Resources()
ob.switch_db('ces')
ob.field1 = value
ob.field2 = value
ob.field3 = value
ob.save()
现在我在resources
中有集合DB2
,并且有一些记录,我已经尝试过Resources.objects.all().delete()
,但是它不是从DB2
删除记录,而是删除来自DB1
(默认数据库)的记录。