用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的错
为什么连接不到本机的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的错的信息别忘了在本站进行查找喔。
香港服务器首选后浪云,2H2G首月10元开通。
后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。