当前位置: 移动技术网 > IT编程>脚本编程>Python > MongoDB与python交互!这才是正确玩转数据库的正确方式!

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

2018年05月19日  | 移动技术网IT编程  | 我要评论

都市美娇,王睿妙妙,申通运费查询

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网