Python 连接数据库添加字段

 任务需求:

        数据库hospital集合所有数据添加一个八位数的编码

import pymongo


# 连接数据customer(库)hospital(集合)
client = pymongo.MongoClient(host='127.0.0.1')
db = client.customer
collection = db.hospital

hospital_list = collection.find()
h = []
# 一个八位数数字
numer = 10000000
# 给数据库所有数据添加一个八位数的编码
for ho in hospital_list:
    numer += 1
    collection.update_one({'_id': ho['_id']}, {
        "$set": {'code': str(numer)}
    })
print('ok')

删除数据库不需要的字段

要删除MongoDB数据库中不需要的字段,可以使用update方法来更新文档。

以下是一个示例代码,其中将删除名为unwanted_field的字段:

import pymongo

# 连接MongoDB
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 选择数据库和集合
db = client["mydatabase"]
collection = db["mycollection"]

# 删除不需要的字段
collection.update({}, {"$unset": {"unwanted_field": 1}}, multi=True)

 上述代码中,$unset操作符用于删除文档中包含的指定字段。multi参数设置为True,以便将更新应用于所有文档。

请注意,update方法不会返回被更改的文档,因此需要使用find方法来检查更改是否生效:

result = collection.find({"unwanted_field": {"$exists": True}})
for doc in result:
    print(doc)

 上述代码中,使用$exists操作符来查找包含被删除的字段的文档。如果没有找到任何文档,则说明删除成功。

db.hospital.updateMany({}, {'$unset': {'source_data_encoding': ""}})