标签:pytho 交流 连接 抓取 img object 字符串 ram star
PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。
官方文档
通过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)})
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.备份
语法
之前学习了爬虫,现在我们把爬取得到的数据存储于Mongodb中
开启mongo,运行代码
通过Robo 3T可视化工具我们可以看到抓取到了137条数据,并且已存储到mongodb中
代码操作
已成功!
欢迎大家关注我的博客:https://home.cnblogs.com/u/sm123456/
欢迎大家加入千人交流答疑群:125240963
MongoDB与python交互!这才是正确玩转数据库的正确方式!
标签:pytho 交流 连接 抓取 img object 字符串 ram star
原文地址:https://www.cnblogs.com/sm123456/p/9057729.html