以下是MongoDB安装使用并实现Python操作数据库的完整攻略。
安装MongoDB
- 下载MongoDB
访问MongoDB官网https://www.mongodb.com/try/download/community,选择适合自己系统的版本并下载。
- 解压MongoDB
将下载的MongoDB压缩包解压到指定目录下。
- 配置环境变量
将MongoDB解压后的文件夹路径配置到环境变量Path中。
- 启动MongoDB
在命令行或终端中输入以下命令启动MongoDB:
mongod
如果出现如下信息,则说明MongoDB已经成功启动:
...
waiting for connections on port 27017
使用MongoDB
- 连接MongoDB服务
在Python程序中使用pymongo库连接MongoDB服务:
from pymongo import MongoClient
client = MongoClient()
如果MongoDB服务在其他机器上,需要指定MongoDB的IP和端口:
client = MongoClient('mongodb://localhost:27017/')
- 选择数据库
在MongoDB中,一个实例可以存储多个数据库。使用以下代码选择一个数据库并创建集合:
db = client['mydatabase']
collection = db['mycollection']
- 插入文档
使用以下代码向集合中插入一个文档:
post = {"author": "Mike",
"text": "My first blog post!",
"tags": ["mongodb", "python", "pymongo"]}
collection.insert_one(post)
- 查询文档
使用以下代码查询集合中的文档:
result = collection.find_one({"author": "Mike"})
print(result)
输出结果为:
{'_id': ObjectId('...'), 'author': 'Mike', 'text': 'My first blog post!', 'tags': ['mongodb', 'python', 'pymongo']}
- 更新文档
使用以下代码更新集合中的文档:
collection.update_one({"author": "Mike"}, {"$set": {"text": "My first blog post has been updated."}})
- 删除文档
使用以下代码删除集合中的文档:
collection.delete_one({"author": "Mike"})
示例说明
下面给出两个MongoDB和Python操作的示例说明。
示例一:保存和查询Python字典
以下代码保存一个Python字典到MongoDB:
document = {"name": "John", "age": 23}
collection.insert_one(document)
以下代码从MongoDB中查询并打印出上述保存的Python字典:
result = collection.find_one({"name": "John"})
print(result)
输出结果为:
{'_id': ObjectId('...'), 'name': 'John', 'age': 23}
示例二:保存和查询CSV文件
以下代码保存一个CSV文件到MongoDB:
import csv
with open('data.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
collection.insert_one(row)
以下代码从MongoDB中查询并打印出上述保存的CSV文件的前10行:
for doc in collection.find().limit(10):
print(doc)
输出结果为:
{'_id': ObjectId('...'), 'name': 'John Doe', 'age': '27', 'position': 'Manager'}
{'_id': ObjectId('...'), 'name': 'Jane Smith', 'age': '35', 'position': 'Engineer'}
...