用pymongo轻松创建数据库 (pymongo 创建数据库)

在计算机科学中,数据库是指用于存储和访问数据的软件系统。数据库不仅可以有效地管理数据,而且可以提高数据的安全性和管理效率。数据库有很多种类型,比如关系型数据库、面向对象数据库和文档型数据库等等。MongoDB是一种非关系型(NoSQL)文档型数据库,它可以很有效地存储和查询文档数据。而pymongo是Python下的MongoDB驱动,它使得Python程序员可以很容易地连接MongoDB,用它来创建、更新、查询和删除数据。

本文将介绍用pymongo轻松创建MongoDB数据库的方法,包括建立连接、创建、向添加数据等等。希望本文能帮助大家入门MongoDB数据库的使用。

建立连接

我们需要建立与MongoDB数据库的连接。在使用pymongo之前,需要先安装pymongo模块。可以使用pip命令行工具安装pymongo,如下所示:

“`python

pip install pymongo

“`

安装完毕后,在代码中,使用MongoClient类建立与MongoDB数据库的连接,如下所示:

“`python

from pymongo import MongoClient

client = MongoClient(‘localhost’, 27017)

“`

以上代码创建了一个名为client的MongoClient对象,建立与本地MongoDB数据库localhost:27017的连接。 在连接MongoDB数据库时,还可以指定其他配置项(如用户名、密码等)。

创建

在MongoDB中,是指一个无序、无索引的文档组合。可以简单理解为MySQL数据库中的表。在使用pymongo操作MongoDB时,需要用到Collection对象,它表示MongoDB。在pymongo中,如果要操作,需要调用Database对象的get_collection()方法来获取对应的Collection对象。以下是一个通过pymongo创建的示例代码:

“`python

db = client[‘mydatabase’]

col = db[‘mycollection’]

“`

以上代码创建了一个名为mydatabase的数据库(如果该数据库不存在,则会自动创建),然后获取了一个名为mycollection的,并将该对象赋值给一个名为col的变量。

向添加数据

有了之后,就可以向添加数据了。MongoDB中的数据格式是ON格式,所以在使用pymongo操作MongoDB时,需要用字典形式表示要添加的数据。如下所示:

“`python

mydict = { “name”: “John”, “address”: “Highway 37” }

x = col.insert_one(mydict)

print(x.inserted_id)

“`

以上代码创建了一个名为mydict的字典,表示要添加的数据,包含name和address两个键值对。然后调用insert_one()方法将这个字典添加到mycollection中。inserted_id是插入数据后返回的对象ID。

查询中的数据

除了数据的添加,我们还需要查询中的数据。MongoDB中可以使用find()方法来查询中的所有数据。如下所示:

“`python

for x in col.find():

print(x)

“`

以上代码遍历了mycollection中的所有数据,并打印了每一个数据。

删除中的数据

如果需要删除中的数据,可以使用delete_one()方法或delete_many()方法来删除单个或多个文档。

以下是一个删除mycollection中所有name为John的文档的示例代码:

“`python

myquery = { “name”: “John” }

x = col.delete_many(myquery)

print(x.deleted_count, “documents deleted.”)

“`

以上代码创建一个名为myquery的字典表示要删除的文档(name为John)。调用delete_many()方法来删除myquery字典匹配的所有文档。删除操作返回一个DeleteResult对象,可以使用它的deleted_count属性来获取删除的文档数量。

本文介绍了用pymongo轻松创建MongoDB数据库的方法。这包括建立连接、创建、向添加数据以及删除中的数据等等。这些操作将有助于让Python程序员快速的上手MongoDB数据库,轻松创建和管理数据!

相关问题拓展阅读:

为什么连接不到本机的mongodn数据库,总是报connect fail的错

Mongoengine是一个可以操作MongoDB数据库的对象-文档映射器(Object-Document Mapper)。出于工作需要,最近在使用MongoDB+Django实现一个数据录入系统小网站的过程中,出现通过Mongoengine无法从 Python 调用 MongoDB,在connect()数据库一步的时候出现下猜含绝穗姿面错误:

>>> from mongoengine import connect

>>> connect(‘healthmanager‘)

Traceback (most recent call last):

File “”, line 1, in

File “/usr/local/python2.7/lib/python2.7/site-packages/mongoengine/connection.py”, line 164, in connect

return get_connection(alias)

File “/usr/local/python2.7/lib/python2.7/site-packages/mongoengine/connection.py”, line 126, in get_connection

raise ConnectionError(“Cannot connect to database %s :\n%s” % (alias, e))

ConnectionError: Cannot connect to database default :

False is not a read preference.

其原因在于,通过“pip install mongoengine”安装的mongoengine为0.9.0版本老坦,同时该命令把pymongo-3.0.2的模块依赖也装好了,而pymongo-3.0.2跟mongoengine-0.9.0之间存在兼容问题,从而导致默认的数据库无法connect成功。

>>> import pymongo

>>> pymongo.version

‘3.0.2‘

另外,CentOS 6.5下用“pip install pymongo”安装的pymongo为3.0.2版本,而mongoengine作为pymongo的一个扩展包,是没有安装的。因此在使用mongoengine的时候,安装完mongoengine后,需要降低pymongo版本至3.0以下。、

解决方法:

=> pip install mongoengine # 安装mongoengine

=> pip uninstall pymongo # 卸载pymongo-3.0.2

=> pip install pymongo==2.8 # 安装pymongo-2.8

重新connect:

>>> from mongoengine import connect

>>> connect(‘healthmanager‘)

MongoClient(‘localhost‘, 27017)

创建连接失败了 有可能是ip地址发生了变化

pymongo 创建数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于pymongo 创建数据库,用pymongo轻松创建数据库,为什么连接不到本机的mongodn数据库,总是报connect fail的错的信息别忘了在本站进行查找喔。


数据运维技术 » 用pymongo轻松创建数据库 (pymongo 创建数据库)