MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB特点
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
Python操作MongoDB
在这里我们来看一下Python下操作MongoDB,在此之前假设你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。在本文我们以瓦尔登湖的一小部分作为材料来操作,在当前路径下有一个名为walden.txt文件,文件内容如下:
#《瓦尔登湖》
WHEN I WROTE the following pages, or rather the bulk of them,
I lived alone,
in the woods,
a mile from any neighbor,
in a housewhich I had built myself,
on the shore of Walden Pond,
in Concord,
Massachusetts,
and earned my living by the labor of my hands only.
I
lived there two years and two months.
At present I am a sojourner in
civilized life again.
1. 连接MongoDB
连接MongoDB需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。