1. 简介
MongoDB是一个基于分布式文件存储的开源数据库系统,NoSQL,不支持关联查询和事务,MongoDB使用BSON(二进制JSON)格式存储数据,可以让很多语言快速读取和存储数据。
2. 连接MongoDB
使用MongoDB需要先安装驱动,使用官方MongoDB驱动需要安装pymongo库。
pip install pymongo
连接MongoDB使用MongoClient方法,可以指定参数连接数据库,如下:
import pymongo
conn = pymongo.MongoClient(host='localhost', port=27017)
db = conn.test
这段代码中,host指定连接主机,port指定端口号,如果不指定,默认为localhost和27017,db指定连接的数据库。
3. 数据库操作
3.1 创建集合
MongoDB中没有表的概念,使用集合来存储数据,可以使用create_collection方法创建集合,如下:
col = db.create_collection('testcol')
这段代码中,create_collection方法用于创建集合,'testcol'是集合名称。
3.2 插入数据
使用insert_one方法来插入数据到集合中,可以指定一个字典类型的参数,如下:
data_dict = {'name':'小王','age':18}
col.insert_one(data_dict)
这段代码中,data_dict是要插入的数据字典,insert_one方法用于插入数据到集合中。
3.3 查询数据
使用find方法可以查询集合中的数据,可以指定查询条件和查询结果的字段,如下:
# 查找所有数据
result = col.find()
for data in result:
print(data)
# 查找指定数据
query_dict = {'name':'小王'}
result = col.find(query_dict)
for data in result:
print(data)
# 查找指定字段数据
query_dict = {'name':'小王'}
result = col.find(query_dict, {'age':1})
for data in result:
print(data)
这段代码中,find方法用于查询集合中的数据,可以指定查询条件和查询结果的字段,第一个查询是查找所有数据,第二个查询是查询指定数据,第三个查询是查询指定字段数据。
3.4 更新数据
使用update_one方法可以更新集合中的数据,可以指定查询条件和更新数据的内容,如下:
query_dict = {'name':'小王'}
new_values = {'$set':{'age':20}}
col.update_one(query_dict, new_values)
这段代码中,update_one方法用于更新集合中的数据,$set操作符用于对数据进行更新。
3.5 删除数据
使用delete_one方法可以删除集合中的数据,可以指定查询条件,如下:
query_dict = {'name':'小王'}
col.delete_one(query_dict)
这段代码中,delete_one方法用于删除集合中的数据。
4. 总结
本文介绍了使用pymongo库连接MongoDB数据库,以及使用MongoDB的常用操作,包括创建集合,插入数据,查询数据,更新数据和删除数据。这些操作可以满足日常使用MongoDB的需求。