数据库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': ""}})