正文
MongoDB还缺少对自然join查询支持。在MongoDB看来:文档意在包罗万象,这意味着,一般来说,它们不需要参考其他文档。在现实世界中,这并不总是有效的,因为我们使用的数据是关系性的。因此,许多人认为MongoDB应该被用作一个SQL数据库的补充数据库,但是当你使用MongoDB是,你会发现这是错误的。
3、PyMongo
现在我们已经描述了MongoDB的是什么,让我们来看看如何在Python中实际使用它。由MongoDB开发者发布的官方驱动程序PyMongo:https://pypi.python.org/pypi/pymongo/,这里通过一些例子介绍,但你也应该查看完整的文档:https://api.mongodb.com/python/current/,因为我们无法面面俱到。
当然第一件事就是安装,最简单的方式就是pip:
pip install pymongo==3.4.0
注:有关更全面的指南,请查看文档的安装/升级页面:https://api.mongodb.com/python/3.4.0/installation.html,并按照其中的步骤进行设置
完成设置后,启动的Python控制台并运行以下命令:
>>> import pymongo
如果没有提出任何异常就说明安装成功了
建立连接
使用MongoClient对象建立连接:
from pymongo import MongoClient
client = MongoClient()
使用上面的代码片段,将建立连接到默认主机(localhost)和端口(27017)。您还可以指定主机和/或使用端口:
client = MongoClient('localhost', 27017)
或者使用MongoURl格式:
client = MongoClient('mongodb://localhost:27017')
访问数据库
一旦你有一个连接的MongoClient实例,你可以在Mongo服务器中访问任何数据库。如果要访问一个数据库,你可以当作属性一样访问:
db = client.pymongo_test
或者你也可以使用字典形式的访问:
db = client['pymongo_test']
如果您的指定数据库已创建,实际上并不重要。通过指定此数据库名称并将数据保存到其中,您将自动创建数据库。
插入文档
在数据库中存储数据,就如同调用只是两行代码一样容易。第一行指定你将使用哪个集合。在MongoDB中术语中,一个集合是在数据库中存储在一起的一组文档(相当于SQL的表)。集合和文档类似于SQL表和行。第二行是使用集合插入数据insert_one()的方法:
posts = db.posts
post_data = {
'title'