MongoDB switch_db()函数
switch_db()
函数用于切换当前连接的数据库。在MongoDB中,我们可以通过连接字符串的方式连接到数据库,连接字符串包括"mongodb://host:port"和目标数据库名称。但是在不同的业务场景下,我们需要连接到不同的数据库,此时切换数据库就非常重要。
使用方法
switch_db()
函数使用语法如下:
conn = pymongo.MongoClient('mongodb://localhost:27017/')
db = conn.get_database('test')
# 切换到新的数据库
db_new = conn.switch_db('new_db')
其中,conn
为MongoDB连接对象,db
为当前连接的数据库对象,db_new
为切换后的数据库对象。
实例说明
下面通过两个实例说明switch_db()
函数的使用方法:
实例1
假设我们在项目中连接到一台MongoDB服务器上的test
数据库中,而现在,我们需要切换到另外一台MongoDB服务器上的new_db
数据库中。下面是实现步骤:
import pymongo
# 连接MongoDB服务器
conn = pymongo.MongoClient('mongodb://192.168.1.100:27017/')
# 获取当前连接的数据库对象
db = conn.get_database('test')
# 切换到新的数据库
db_new = conn.switch_db('new_db')
实例2
假设我们在项目中使用MongoDB存储用户的头像图片,而这些图片数据需要存储在不同的数据库中。下面是实现步骤:
import pymongo
# 连接MongoDB服务器
conn = pymongo.MongoClient('mongodb://localhost:27017/')
# 切换到用户id=123的数据库
db_user_123 = conn.switch_db('user_123')
# 存储头像数据
avatar_data = '头像数据'
db_user_123.avatars.insert_one({'data': avatar_data})
# 切换到用户id=456的数据库
db_user_456 = conn.switch_db('user_456')
avatar_data = '头像数据'
db_user_456.avatars.insert_one({'data': avatar_data})
在这个实例中,我们通过switch_db()
函数将连接对象切换到不同的数据库,分别存储了不同用户的头像数据。