MongoDB与python交互!这才是正确玩转数据库的正确方式!
程序员文章站
2022-04-04 09:53:49
1.Pymongo PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。 官方文档 2.安装 通过ObjectId来查找 通过ObjectId来查找 不要转化ObjectId的类型为String 不要转化ObjectId的类型为String 如果po ......
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
下一篇: Python中的矩阵操作