Python:你不得不学的MongoDB数据库

Python:你不得不学的MongoDB数据库,第1张

概述介绍《Python:你不得不学的MongoDB数据库》开发教程,希望对您有用。

《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

PyMongo

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学院为您提供精彩教程。

总结

以上是内存溢出为你收集整理的Python:你不得不学的MongoDB数据库全部内容,希望文章能够帮你解决Python:你不得不学的MongoDB数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1154586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存