码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB与python交互!这才是正确玩转数据库的正确方式!

时间:2018-05-18 20:08:17      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:pytho   交流   连接   抓取   img   object   字符串   ram   star   

1.Pymongo

PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。

官方文档

2.安装

技术分享图片

技术分享图片

  • 通过ObjectId来查找

>>> post_id ObjectId(...)
>>> posts.find_one({"_id": post_id})
{u‘date‘: datetime.datetime(...), u‘text‘: u‘My first blog post!‘, u‘_id‘: ObjectId(‘...‘), u‘author‘: u‘Mike‘, u‘tags‘: [u‘mongodb‘, u‘python‘, u‘pymongo‘]}
  • 不要转化ObjectId的类型为String

>>> post_id_as_str = str(post_id)
>>> posts.find_one({"_id": post_id_as_str}) # No result >>>
  • 如果post_id是字符串

from bson.objectid import ObjectId 
# The web framework gets post_id from the URL and passes it as a string def get(post_id): 
 # Convert from string to ObjectId: 
 document = client.db.collection.find_one({‘_id‘: ObjectId(post_id)})

技术分享图片

技术分享图片

4.mongoDB其它操作

1.超级管理员

  • 为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户

    采用了角色-用户-数据库的安全管理方式

    常用系统角色如下:

技术分享图片

  • 启用安全认证

    修改配置文件

sudo vi /etc/mongod.conf
  • 启用身份验证

    注意:keys and values之间一定要加空格, 否则解析会报错

security:
 authorization: enabled
  • 重启服务

sudo service mongod stop
sudo service mongod start
  • 终端连接

mongo -u ‘admin‘ -p ‘123‘ --authenticationDatabase ‘admin‘
  • 普通用户管理

    使用超级管理员登录,然后进入用户管理操作

    查看当前数据库的用户

技术分享图片

2.主从双备

复制的优点

  • 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性

  • 复制还允许从硬件故障和服务中断中恢复数据

技术分享图片

技术分享图片

  • step8:新开窗口,连接第二个mongo服务

mongo --host 192.168.10.111 --port 27019
  • step9:向主服务器中插入数据

use test1for(i=0;i<10;i++){db.t1.insert({_id:i})}
db.t1.find()

技术分享图片

3.备份

  • 语法

技术分享图片

5.Mongodb与python交互

  • 之前学习了爬虫,现在我们把爬取得到的数据存储于Mongodb中

技术分享图片

技术分享图片

  • 开启mongo,运行代码

技术分享图片

通过Robo 3T可视化工具我们可以看到抓取到了137条数据,并且已存储到mongodb中

6.完成命令行项目:学生信息管理(基于Python2.7)

  • 代码操作

技术分享图片

技术分享图片

技术分享图片

已成功!

欢迎大家关注我的博客:https://home.cnblogs.com/u/sm123456/

欢迎大家加入千人交流答疑群:125240963

MongoDB与python交互!这才是正确玩转数据库的正确方式!

标签:pytho   交流   连接   抓取   img   object   字符串   ram   star   

原文地址:https://www.cnblogs.com/sm123456/p/9057729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!