项目用mongodb存储数据
常用的操作
本地数据库存
在python使用pymongo去连接数据库之前,应该保证数据库已经存在
创建数据库过程
mongo --port 27017 #连接本地数据库
MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2a0476ac-d2b5-4fd3-b01b-f7cb60206da0") }
MongoDB server version: 4.0.6
.......
#连接成功后创建数据库
> use sun #sun是数据库名,可以根据自己的需求来创建
switched to db sun
#创建用户
> db
sun
#创建用户名,密码,权限
> db.createUser({user:"dba",pwd:"dba",roles:[{role:"readWrite",db:"sun"}]})
Successfully added user: {
"user" : "dba",
"roles" : [
{
"role" : "readWrite",
"db" : "sun"
}
]
}
#测试是否能够登录
> db.auth("dba","dba")
写数据库要首先连接
#链接数据库
client = pymongo.MongoClient("localhost",27017)
db = client.sun #数据库名
db.authenticate("dba", "dba")
collection = db.cloudwork
#下面是一个scrapy项目的标准写方法
class CloudworkPipeline(object):
def process_item(self, item, spider):
try:
collection.insert(item)
except Exception as e:
print(e.args)
如果要从一个数据库中读取数据,用下面的方法
# 连接数据库
client = pymongo.MongoClient("localhost",27017)
db = client.sun
db.authenticate("dba", "dba")
collection = db.cloudwork
# 加载数据
data = DataFrame(list(collection.find()))
#再对数据做其他操作
#比如获取period属性等
periods = data.groupby(["period"]).size()
#获取到数据之后再做其他图形化的展示方案