《Python:你不得不学的MongoDB数据库》要点:
本文介绍了Python:你不得不学的MongoDB数据库,希望对您有用。如果有疑问,可以联系我们。
相关主题:非关系型数据库
这篇文章分享之前我还是要推荐下我自己的Python学习交流群:643692991,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2017最新的Python资料和零基础入门教程,欢迎初学和进阶中的小伙伴.
Python是开发社区中用于许多不同类型应用的强大编程语言.很多人都知道它是可以处理几乎任何任务的灵活语言.因此,在Python应用中需要一个什么样的与语言本身一样灵活的数据库呢?那就是NoSQL,比如MongoDB.
在这篇文章中,将向您展示如何使用Python链接目前主流的 MongoDB(V3.4.0) 数据库,主要使用 PyMongo(v3.4.0) 和 MongoEngine(V0.10.7) .同时比较SQL和NoSQL.
当到数据库方案选择时,大多数人都问自己最后一个问题,“SQL或NoSQL的?”.无论是SQL和NoSQL都有自己的长处和弱点,你应该选择适合您的应用需求中最好的之一.这里是两者之间的一些区别:
SQL vs NoSQL
NoSQL的一个好处是,有许多不同类型的数据库可供选择,并且每个都有自己的用例:
key-value存储: DynamoDB
文档存储: CouchDB , MongoDB , RethinkDB
列存储: Cassandra
数据结构: Redis , SSDB
MongoDB
MongoDB开发者发布的官方驱动程序 PyMongo
安装:pip install pymongo==3.4.0
建立连接
使用MongoClient对象建立连接:
frompymongoimportMongoClient
client = MongoClient()
使用上面的代码片段,将建立连接到默认主机(localhost)和端口(27017).您还可以指定主机和/或使用端口:
client = MongoClient('localhost',27017)
或者使用MongoURl格式:
client = MongoClient('mongodb://localhost:27017')
拜访数据库
一旦你有一个连接的MongoClient实例,你可以在Mongo服务器中拜访任何数据库.如果要拜访一个数据库,你可以当作属性一样拜访:
db = client.pymongo_test
或者你也可以使用字典形式的拜访:
db = client['pymongo_test']
如果您的指定数据库已创建,实际上并不重要.通过指定此数据库名称并将数据保存到其中,您将自动创建数据库.
MongoEngine
MongoEngine是一个对象文档映射器(ODM),它大致相当于一个基于SQL的对象关系映射器(ORM).MongoEngine提供的抽象是基于类的,所以你创建的所有模型都是类
安装:pip install mongoengine==0.10.7
连接:
frommongoengineimport*
connect('mongoengine_test', host='localhost', port=27017)
和pymongo不同.MongoEngine需要制定数据库名称.
定义文档
建立文档之前,需要定义文档中要存放数据的字段.与许多其他ORM类似,我们将通过继承Document类,并提供我们想要的数据类型来做到这一点:
required:设置必须;
default:如果没有其他值给出使用指定的默认值
unique:确保集合中没有其他document有此字段的值相同
choices:确保该字段的值等于数组中的给定值之一
保存文档
将文档保存到数据库中,我们将使用save()的办法.如果文档中的数据库已经存在,则所有的更改将在原子水平上对现有的文档进行.如果它不存在,但是,那么它会被创建
《Python:你不得不学的MongoDB数据库》是否对您有启发,欢迎查看更多与《Python:你不得不学的MongoDB数据库》相关教程,学精学透。维易PHP学院为您提供精彩教程。