目录
由于要存储的数据字段不确定,存在json数据,本打算安装mysql5.7+,但调研了一下发现mysql这种关系型数据库查询json数据不太方便(尤其是条件查询),所以打算用nosql数据库,听说mongoDB很流行,就安装了这个。
MongoDB 安装:
官网下载https://www.mongodb.com/download-center#community,在software里选择社区版(免费)
安装过程注意事项:
- 选择setup Type选择custom足以
- 设置安装路径时不要带中文
- 左下角Install mongoDB compass时左下角的对号不勾选
可视化工具Robo 3T安装:
官网https://robomongo.org/,其中Robo 3T(免费),Studio 3T(收费),一般Robo就够用的了
Ubuntu上安装MongoDB并设置远程连接:
安装很简单:apt-get install mongodb
完了之后测试一下,输如mongo --version或者mongo都可以
这里重点记录一下怎么设置远程连接:
1.输入 sudo vi /etc/mongodb.conf 打开mongodb的配置文件,你会看到以下内容:
dbpath是数据存放的地址修改为你想存放的路径,logpath是日志存放的地址同理
2.将bind_ip注释掉或者改为 0.0.0.0,因为bind_ip是127.0.0.1的话只允许本地IP连接mongodb数据库,然后port去掉注释,即设置通过27017端口访问
3.然后用robo 3T登陆一下,欸???Failed???
测试一下27017端口是否开放,果然,没开放,公网无法访问:
4.因为我用的阿里云服务器,去阿里云服务器开放该端口,具体可以看这篇文章:https://www.cnblogs.com/ergexy/p/9718732.html,,端口填27017,授权对象0.0.0.0/0
5.再在本地登陆一下,成功!!!
python操作MongoDB:
from pymongo import MongoClient #先安装pymongo
class PyMongoDemo(object):
def __init__(self):
self.conn = MongoClient('localhost', 27017) # 无密码的方式,指定host port
# self.conn = MongoClient(uri) # 创建数据库连接
self.db = self.conn['Covid19'] # 数据库名
self.test = self.db['test'] # 表名
def insertData(self):
users = [{'name': 'zhangsan', 'age': 18}, {'name': 'naguniang', 'age': 23,'date':'20200506', 'location':{'country':'中国','city':'北京'}}]
self.test.insert(users) # 插入两条数据
def getData(self):
# 显示所有数据
for data in self.test.find():
print(data)
def removeDate(self):
self.test.remove()
#具体的操作语句可以看mongoDB的语法,条件查询,修改数据等等
if __name__ == "__main__":
mongo = PyMongoDemo()
mongo.insertData()
mongo.getData()
可以用Robo 3T中看到数据,具体的查询方式可以查看mongoDB的语法 ,刚开始用,还不太熟悉,以后我再来补充