Python 连接MongoDB数据库手札(PyMongo)

来源:互联网 发布:windows ant 编辑:程序博客网 时间:2024/05/21 09:31

1 PyMango 安装

如果还不知道怎么安装MongoDB可以先看这里,包括如何启动相应的服务
Ubuntu の MongoDB 安装教程及简单操作

要想在Python中使用MongoDB,需要安装PyMongo,通过PyMongo 我们在Python中就可以链接MongoDB数据库了,这里我是使用了Pip来安装的,如果还没清楚Pip怎么安装的可以看看之前的博文

pip install pymongo

完成了这条指令之后,我们就可以在Python当中进行数据库的连接操作了。

2 Python链接代码

在这里我直接给出一个示例了,注意的是,Pymango可以直接把Python中dict类型的数据直接存入,也可以直接取出,是不是很方便?

#encoding:utf=8import pymongo as pmimport jsonclass MongoOperator:    def __init__(self, host, port, db_name, default_collection):        '''        设置mongodb的地址,端口以及默认访问的集合,后续访问中如果不指定collection,则访问这个默认的        :param host: 地址        :param port: 端口        :param db_name: 数据库名字        :param default_collection: 默认的集合        '''        #建立数据库连接        self.client = pm.MongoClient(host=host, port=port)        #选择相应的数据库名称        self.db = self.client.get_database(db_name)        #设置默认的集合        self.collection = self.db.get_collection(default_collection)    def insert(self, item, collection_name =None):        '''        插入数据,这里的数据可以是一个,也可以是多个        :param item: 需要插入的数据        :param collection_name:  可选,需要访问哪个集合        :return:        '''        if collection_name != None:            collection = self.db.get_collection(self.db)            collection.insert(item)        else:            self.collection.insert(item)    def find(self, expression =None, collection_name=None):        '''        进行简单查询,可以指定条件和集合        :param expression: 查询条件,可以为空        :param collection_name: 集合名称        :return: 所有结果        '''        if collection_name != None:            collection = self.db.get_collection(self.db)            if expression == None:                return collection.find()            else:                return collection.find(expression)        else:            if expression == None:                return self.collection.find()            else:                return self.collection.find(expression)    def get_collection(self, collection_name=None):        '''        很多时候单纯的查询不能够通过这个类封装的方法执行,这时候就可以直接获取到对应的collection进行操作        :param collection_name: 集合名称        :return: collection        '''        if collection_name == None:            return self.collection        else:            return self.get_collection(collection_name)db = MongoOperator('10.0.0.39',27017,'test_db','test_collection')item = {}item['name'] = 'mebiuw'item['age'] = '23'db.insert(item)for item in db.find():    print(item)

3 其他

如果有其他我再补充,这篇主要是代码上的,上一篇主要是环境上的,遇到问题我会及时补充

0 0
原创粉丝点击