python与数据库————python调用mongoDB数据库

  • 当我们学习了MongoDB数据库的基本操作之后,我们就可以开始学习python如何调用MongoDB数据库了

基本连接方式

# 导入第三方库
from pymongo import MongoClient
try:
	# 连接mongod的服务;如果是本地数据库,"localhost",27017可不写
    client=MongoClient("localhost",27017)
    # 库和表的名字;如果没有该数据则会自动建库建表;
    # 连接数据库  
    db = client['dbs']
    # db = client.dbs	# 第二种方式

    # 连接表/集合
    collection = db['hero']
    # collection = db.hero	# 第二种方式
    
    # 也可直接建库建表
    collection = client['dbs']['hero']
	# collection = client.dbs.hero	# 第二种方式
		
	# 增删改查操作
	
except Exception as e:
    print(e)

finally:
    # 关闭数据库
    client.close()

增删改查操作的部分,为了方便观看,我这里用MongoDB的可视化工具来演示
python与数据库————python调用mongoDB数据库_第1张图片
我们可以看到在dbs.hero中只有一个"name":"翠花"的数据(_id是系统自动生成的24位字符串,用该值作为这条记录的唯一标识)

插入数据

    # 插入数据
    one = {"name":"flandre","age":20}
    two_many = [
        {"name": "flandre翠花", "age": 30},
        {"name": "翠花flandre", "age": 40}
    ]
    # 插入一个
    collection.insert_one(one)
    # 插入多个
    collection.insert_many(two_many)
    # 插入一个或多个
    # collection.insert(two_many)

python与数据库————python调用mongoDB数据库_第2张图片
刷新之后我们可以看到一条数据和多条数据都插入成功了!

删除数据

  • 删除数据和插入数据相同,都有删除多条或一条的命令
    # 删除数据
    collection.delete_one({"age":40}) # 删除age=40的一条数据
    # collection.delete_many()

python与数据库————python调用mongoDB数据库_第3张图片
“age”:40的这条消息已经被删除

修改数据

  • 再修改数据前我们在插入一遍two_many的数据

python与数据库————python调用mongoDB数据库_第4张图片

    # 修改数据,修改age=20的数据,将name改成张三
    collection.update({"age":20},{"$set":{"name":"张三"}})
    # 修改一条数据
    # collection.update_one()
    # 修改多条name是flandre翠花的数据,将age改成19
    collection.update_many({"name":"flandre翠花"},{"$set":{"age":19}})

python与数据库————python调用mongoDB数据库_第5张图片
代码运行之后我们可以看到,原先:age":20的地方姓名改成了"张三";“name”:"flandre翠花"的也把"age"修改成了19

查询数据

    # 查询数据
    # 查询满足条件的一条数据
    result = collection.find_one({"age":19})
    print(result)
    # 查询满足条件的全部数据
    results = collection.find({"age":19})
    # 如果直接输出,返回的是mongodb的游标对象
    print(results)
    # 循环输出
    for i in results:
        print(i)

# 运行结果
# {'_id': ObjectId('602e6b4e335e9be7509493fd'), 'name': 'flandre翠花', 'age': 19}
# 
# {'_id': ObjectId('602e6b4e335e9be7509493fd'), 'name': 'flandre翠花', 'age': 19}
# {'_id': ObjectId('602e6dc1b01f73871a166943'), 'name': 'flandre翠花', 'age': 19}

你可能感兴趣的:(mongoDB,python,python,mongodb,nosql,数据库)