我使用mongoDB作为我的数据库,我正在做django项目,并使用mongoengine来连接数据库。我的问题是,如果我在settings.py
中的默认数据库是DB1
,并且我想删除存在于all中的集合的所有记录,那么我该如何做到这一点。
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外壳
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()
现在我在DB2
中有了DB1
resources
,它有一些记录,我尝试过Resources.objects.all().delete()
,但它不是从DB2
中删除记录,而是从默认数据库 collection 中删除记录。
https://stackoverflow.com/questions/54568199
复制相似问题