您现在的位置是:主页 > news > 永州微网站建设/如何做网络营销推广
永州微网站建设/如何做网络营销推广
admin2025/5/18 15:55:51【news】
简介永州微网站建设,如何做网络营销推广,长岛网站建设,cms网站开发实验报告MongoDB简介 Mongo是一种非关系型数据库,相较于典型的关系型数据库(如Oracle,Mysql),访问速度更快,更适合于数据变化快的场景。 MongoDB数据库安装 这里使用的是MongoDB 4.4 版本: 下载链接:https://pan…
MongoDB简介
Mongo是一种非关系型数据库,相较于典型的关系型数据库(如Oracle,Mysql),访问速度更快,更适合于数据变化快的场景。
MongoDB数据库安装
这里使用的是MongoDB 4.4 版本:
下载链接:https://pan.baidu.com/s/14-acXNSbxS5vxAd3oPTK0g?pwd=8888
安装步骤图示:
安装好之后,会自动添加windows服务,可以在任务管理器的服务栏看到。
打开浏览器,访问http://localhost:27017/
,显示下图内容,说明MongoDB服务正常运行。
Pymongo常规操作
Pymongo安装
Pymongo是一个python库,提供了方便的与MongoDB交互的API。
Pymongo安装:
pip install pymongo
创建数据库
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")#新建数据库
mydb = myclient["mydatabase"]
查询所有数据库
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 查询数据库
dblist = myclient.list_database_names() # 获取数据库名
print(dblist)
输出:
[‘admin’, ‘config’, ‘local’]
这里输出了三个原始默认的数据库,并没有刚刚新建的数据库mydatabase
。
这是因为在 MongoDB 中,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。
创建集合/插入文档
下面就创建一个集合并插入一条文档:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]
# 插入文档
mydict = {"name": "zstar", "height": "185cm"}
mycol.insert_one(mydict)
运行之后,使用Navicat查看数据库,可以看到数据库和集合被成功创建,并自动为文档添加了唯一性标识。
插入多条文档
使用insert_many
可以插入多条文档:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 插入多条文档
mylist = [{"name": "zstar", "height": "185cm"},{"name": "zstar", "height": "186cm"},{"name": "zstar", "height": "188cm"}
]
mycol.insert_many(mylist)
查询一条文档
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 查询一条文档
x = mycol.find_one()
print(x)
查询集合中所有文档
mycol.find()
会返回一个pymongo.cursor.Cursor
对象,通过循环可以读取:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 查询所有文档
for x in mycol.find():print(x)
查询指定字段
将需要的字段设为1,不需要的字段设为0,第一个{}指代查询所有内容。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 查询指定字段
for x in mycol.find({}, {"_id": 0, "name": 1, "height": 1}):print(x)
查询符合条件的数据
查询所有"height": “185cm”`的数据:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 条件查询
for x in mycol.find({"height": "185cm"}):print(x)
比较条件查询
除了完全相等之外,还可以使用条件操作符来实现更多操作,例如:
查询身高大于185cm的人:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 条件查询
for x in mycol.find({"height": {"$gt": "185cm"}}):print(x)
常用条件操作符有:
- (>) 大于 - $gt
- (<) 小于 - $lt
- (>=) 大于等于 - $gte
- (<= ) 小于等于 - $lte
此外,还可以用"$regex"
来进行正则表达式查询,这里数据较简单,暂略。
返回指定条数文档
通过limit()
方式,可以限定返回的文档条数。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 返回指定条数
myresult = mycol.find().limit(3) # 查询前三条数据
# 输出结果
for x in myresult:print(x)
修改一条文档
使用update_one
可以修改一条文档,如果满足修改条件的有多条文档,只会修改第一个。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 修改一条文档
myquery = {"name": "zstar"} # 将zstar修改为starz
newvalues = {"$set": {"name": "starz"}}
mycol.update_one(myquery, newvalues)
# 输出修改后的集合
for x in mycol.find():print(x)
修改多条文档
上面代码不变,将update_one
替换成update_many
,即可实现修改所有符合条件的文档。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 修改多条文档
myquery = {"name": "zstar"} # 将所有的zstar修改为starz
newvalues = {"$set": {"name": "starz"}}
mycol.update_many(myquery, newvalues)
# 输出修改后的集合
for x in mycol.find():print(x)
文档排序
使用sort
可以对查询的文档进行排序,默认是升序,设置参数-1
为降序。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 排序
mydoc = mycol.find().sort("height") # 升序
mydoc = mycol.find().sort("height", -1) # 降序
for x in mydoc:print(x)
删除单条文档
delete_one
用来删除单个符合条件的文档。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 删除一条文档
myquery = {"height": "188cm"}
mycol.delete_one(myquery)
# 删除后输出
for x in mycol.find():print(x)
删除多条文档
和update类似,用delete_many
替代delete_one
即可:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 删除一条文档
myquery = {"height": "185cm"}
mycol.delete_many(myquery)
# 删除后输出
for x in mycol.find():print(x)
删除所有文档
将匹配条件设为空,则会删除所有文档:
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]# 删除一条文档
myquery = {}
mycol.delete_many(myquery)
# 删除后输出
for x in mycol.find():print(x)
删除集合
文档删完了,集合也删了吧。
import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")# 新建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["myset"]
# 删除集合
mycol.drop()
总结
相比于之前经常使用的Mysql,MongoDB的操作显得更简单和轻量化,更适合对于安全性低,使用频繁的场景。
参考
[1] Mongodb介绍和安装(含安装包) https://blog.csdn.net/m0_45877477/article/details/125506862
[2] Python使用pymongo连接MongoDB数据库并进行操作 https://blog.csdn.net/qq_45268814/article/details/125937255