Python连接和使用MongoDB学习笔记

MongoDB相对于传统的关系型数据库,可以存储JSON数据,非常适合存储数据抓取返回的JSON数据。先前介绍过MongoDB在Windows的安装,今天主要学习的是使用Python连接MongoDB,并进行增删改查的操作。

在连接MongoDB前 首先要安装的是Python包:PyMongo,包的安装非常的简单。只需执行 pip install pymongo 即可。

创建连接

在安装完PyMongo以后,使用Python连接MongoDB变得异常简单。具体方式为:

或使用如下方式:

如果连接含有账号密码等,请参考:pymongo.mongo_client.MongoClient

连接数据库

连接数据库的操作也非常的简单,最为重要的是,在你连接数据库之前无需先创建数据库,如果数据库存在则直接连接,如果数据库不存在则会创建新的库。具体方式为:

以上两种方式任选一种即可。

Collection概念

在MongoDB中存在一个Collection的概念,我将其理解为命名空间,类似其他数据库中Scheme的概念,Collection可以理解为一些表的集合。Collection可以使用也可以不使用,具体看你是否要给库下的表分类。相关的操作:

需要知晓的是,collection的创建是在第一张表创建时才会创建。

插入数据

插入数据的方式的凡是非常的简单,最长使用的方法是,insert_one()和inert_many()方法,从字面上就可以看出来一个是插入一条数据,另外一个是插入多条数据,示例:

查询数据

和插入数据一样,查询数据的时候,提供查询一条或多条数据的方法,方法分别为find_one()和find()。示例:

另外,查询多条时,可以设定返回的数量或其他限定条件:pymongo.collection.Collection.find

另外条件中如需支持类似的关系数据库中的WHERE条件,需要使用特定的关键词。示例:

删除数据

删除数据同样非常的简单,主要用到的方法为:delete_one()delete_many()

更新数据

更新数据的主要方法是,update_one()update_many(),除此之外,还有一个replace_one()方法用来替换,由于用的不多,具体看文档。

创建索引

pyMongo还支持创建索引,可以进一步提升查询的性能,示例:

参考链接:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

开源地理位置数据库:tile38

Tile38是地理定位数据存储,空间索引和实时地理围栏。它支持多种对象类型,包括纬度/经度点,边界框,XYZ平

Redis存储经纬度数据并进行地理操作

Redis 从3.2.0版本开始提供了对地理位置的支持,reids 的地理位置坐标使用 sorted set存

使用Python检测符号及乱码字符

最近在进行关键词的分析,中间涉及到对一些特殊的字符进行过滤的需求。包括带符号的(有部分还是SQL注入),并且存

发表评论

电子邮件地址不会被公开。 必填项已用*标注