有的时候我们存储的值有中英文符号,肯定要统一啊...
怎么将mongo的value统一呢?
看代码,希望能帮到你们....
# -*- coding: utf-8 -*-
import re
import sys
import importlib
importlib.reload(sys)
from pymongo import MongoClient
#建立MongoDB数据库连接
client = MongoClient('127.0.0.1', 27017)
#用户验证
db = client.edition
db.authenticate("wangkun", "wk123456")
#连接所用集合,也就是我们通常所说的表
collection=db.companies
list1 = []
for item in collection.find({},{"company_name": 1,"_id":0 }):
company_name = item["company_name"]
list1.append(company_name)
#取出所有的值
for item in collection.find({"company_name":{'$regex':"\\("}},{"company_name": 1,"_id":0 }):
#写出判断条件(将数据库中所有英文括号取出来)
company_name = item["company_name"]
#获取对应的value
company_name1 = company_name.replace('(','(').replace(')',')')
#将value转为中文括号
if company_name1 in list1:
#判断中文value在数据库中是否有,防止重复
collection.remove({"company_name":company_name})
#如果有删除
else:
collection.update({'company_name': company_name}, {'$set':{'company_name':company_name1} })
#没有则更新