MongoDB安装
只支持 ubuntu20.04 , 22.04版,且64位系统
sudo apt update
sudo apt install -y mongodb
sudo systemctl start mongodb
启动sudo systemctl enable mongodb
自动启动sudo systemctl status mongodb
检查状态sudo systemctl restart mongodb
重启
默认端口 27017
开启外网:/etc/mongodb.conf :bind_ip = 0.0.0.0
虚拟机里需要开启,服务器中如果不开则使用ssh模式
数据库工具创建一个库和集
python的使用
pip install pymongo
官方文档:https://www.mongodb.com/zh-cn/docs/languages/python/pymongo-driver/current/
示例
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/test') #连接数据库
try:
database = client["test"] #获取数据库
Article = database["article"] #获取文章集合
except Exception as e:
print('mongoDB数据库连接错误,退出:',e)
exit(1)
# 写入一条数据
result = Article.insert_one({'title':'标题1','content':'内容2','createdAt':datetime.now()})
print(f'写入的数据ID:{result.inserted_id}')
# 更新一条数据
update_query = {"title": "标题1"} #查询更新的条件
new_values = {"$set": {"content": '这是更新的内容'}}
result = Article.update_one(update_query, new_values)
print(f"匹配到的数据条数: {result.matched_count}, 修改的数据条数: {result.modified_count}")
# 列出Article集合中的所有数据
data = Article.find()
for doc in data: # 遍历结果
print(doc) #输出对象(这个对象无法直接使用)
print(doc.get('title')) #
# 按条件查询一条数据
query = {"title": "标题1"}
result = Article.find_one(query)
print("查询到的结果:", result)
# 按条件查询多条数据
query = {"title": "标题"}
results = Article.find(query)
articles = [] #定义一个接收数组,因为查询结果返回的是mongodb游标,无法直接使用
for doc in results: # 遍历结果
article = {
'title': doc.get('title'),
'content': doc.get('content'),
'createdAt': doc.get('createdAt')
}
#将遍历结果加入数组
articles.append(article)