都市美娇,王睿妙妙,申通运费查询
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
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
python求numpy中array按列非零元素的平均值案例
网友评论