week6 10 后端backend server和mongoDB通信
0 之前我们maogoDB用的是在线的mlab
在线他们帮我们做好了model 也就是那个schma
其实python也有类似的包 帮我们定义这些model
但是呢
我们自己来做吧
用一个传统的意义上mongoDB 就是 insert select来操作数据库
就是在不用其他类库 定义的model
我们如何操作数据库
我们这次用本地mongoDB
因为我们以后要做网络爬虫
这么爬下来的数据都会放在mongoDB里面储存
会很多 如果我们用mlab 那么将来把数据导出的时候就很不方便
所以 建议部署在本地
用法其实和mlab没啥区别
去官网https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
安装提示4步安装
当然也可以直接下载下来 解压缩安装
都可
第三种方法(我安装的这个,我是因为网络原因)
https://www.howtoing.com/how-to-install-mongodb-on-ubuntu-18-04
安装完成
新版本执行下面命令
因为是按第三种 安装的老版本的所以我的start命令不一样 具体看https://www.howtoing.com/how-to-install-mongodb-on-ubuntu-18-04
sudo systemctl start mongodb
本地mangodb自带工具mongo
显示现有的数据库
切换数据库
数据库有很多表(collections)
use这个命令除了可以切换数据库 还能创建数据库 如果有就切换到 没有就创建
但是如果你没插数据进去 他不会创建 必须有数据
我们现在弄点数据倒进数据库 插两条条数据
我们发现insert只能插一条,一条一条的插
我们再来一条
这里有个导入导出数据方便的工具 注意再是CMD命令行里面打命令 并不是在mongo shell里面
mongoexport
mongoimport --db tap-news --collection news --drop week6_demo_news.json
导入数据到数据库 并制定导入数据文件名称
drop是存在的话 就替代
mongoexport --db tap-news --collection news --out week6_demo_news.json
从数据库导出数据并命名
如何删除数据库
use +数据库名 切换到某个数据库然后执行
db.dropDatabase删除数据库
下面使用python操作mongodb
安装一个库 为了以后别人方便安装 我们写到一个配置文件里面
我们这个pymongo想单独独立出来 谁用 就来调用就行了
所以我们
创建工具文件夹
主要为了复用方便(解耦)
这个MongoClien类t实现了维持一个连接数为10的连接池(为了数据库性能)
这样保证了单例模式
不管有多少模块import我们这个client 自始至终我们只有一个连接连接到mongodb
增删改查可以在这定义函数
下面我们去测试吧
看能不能连上数据库
新建一个测试文件
大小写敏感
那么我们改一下看看
然后 我们将注释放开再看看
发现demo(collections)木有了 drop了
这验证了可以client操作数据库
week6 10 后端backend server和mongoDB通信的更多相关文章
- 第 10 章 MySQL Server 性能优化
前言: 本章主要通过针对MySQL Server(mysqld)相关实现机制的分析,得到一些相应的优化建议.主要涉及MySQL的安装以及相关参数设置的优化,但不包括mysqld之外的比如存储引擎相关的 ...
- ArcGIS 10.3 for Server新特性介绍
ArcGIS10.3的正式版立即在美国Esri全球用户大会推出.中国的正式发行时间预计在Esri中国的用户大会.以下就将用户比較关心的ArcGIS 10.3 for Server的新特性给大家进行简单 ...
- 【转】ArcGIS 10.1 for Server 架构
前一段时间在博客中公布了我们的计划,我们采用博客的形式将对ArcGIS10.1 for Server进行全面介绍.但这种形式有一定的遗憾:缺少互动的空间,所以我们希望广大爱好者能将自己感兴趣的话题在博 ...
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server常见问题
1.ArcGIS 10.2有无测试版程序? 10.2没有正式的测试版程序,但是我们计划发布两个早期cuts软件给国际经销商.选中的用户和合作伙伴. 2.微软Azure云的ArcGIS forServe ...
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server新特性
ArcGIS forServer相关的很多重大消息,如与Portal for ArcGIS进行了集成,提供对实时数据支持.离线地图使用. 1.与Portal for ArcGIS集成 用户能够配置Po ...
- ArcGIS 10.1 for Server 扩展开发(SOE)
原文连接:http://blog.csdn.net/arcgisserver_book/article/details/7869368 第一章为什么使用SOE 在ArcGIS 10.1中ArcGIS ...
- Ubuntu 16.10 Apache PHP Server
/******************************************************************************************* * Ubunt ...
- ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
http://www.oschina.net/question/565065_81231 因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将Ar ...
- ArcGIS 10.3 for Server 在windows下的安装教程
原文:ArcGIS 10.3 for Server 在windows下的安装教程 以下是10.2的教程,10.3同样适用. 许可文件: ArcGIS For Server10.3许可文件 - 下载频道 ...
随机推荐
- python3基础操作
ubuntu下python连接mysql apt-get install python-mysqldb 获取当前时间 >>> from datetime import datetim ...
- ThreadException
在windows窗体程序中,使用 ThreadException 事件来处理 UI 线程异常,使用 UnhandledException 事件来处理非 UI 线程异常.ThreadException可 ...
- C# DataGirdview手动添加数据,导出txt文件并自动对齐
//DataGirdview手动添加数据 private void btnDataGirdView_Click(object sender,EventArgs e) { dataGridV ...
- python hashillb 模块
hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法 import hashlib # ## ...
- Git上传项目失败:Push rejected: Push to origin/master was rejected
解决方案如下: 1.切换到自己项目所在的目录,右键选择GIT BASH Here,Idea中可使用Alt+F12 打开终端 2.在terminl窗口中依次输入命令: git pull git pull ...
- python中logging模块的一些简单用法
用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...
- 分布式计算课程补充笔记 part 1
▶ 高性能计算机发展历程 真空管电子计算机,向量机(Vector Machine),并行向量处理机(Parallel Vector Processors,PVP),分布式并行机(Parallel Pr ...
- 关于 HTTP
HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议).它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的 ...
- MFC相关函数汇总(持续汇总跟新中)
最近有一项关于MFC的任务,做完后总结了一些使用的函数,希望对大家有帮助,也是怕自己忘了所以就写了这篇博客,方便后续的工作. 1,FindWindow() 获得窗口句柄: 2,GetWindowRec ...
- leetcode1015
class Solution(object): def smallestRepunitDivByK(self, K: int) -> int: if K % 2 == 0 or K % 5 == ...