Python接口MongoDB实现接口查询数据库功能

Posted 笑看代码...^_^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python接口MongoDB实现接口查询数据库功能相关的知识,希望对你有一定的参考价值。

一、所需工具

Python, pymongo,Mongodb,Flask

二、安装

1、安装Python

  我这里安装的是 3.8.0版本 ,输入python -V 可以查看当前版本

       

2、安装pymongo

  命令行中输入   pip3 install pymongo  命令执行即可完成安装。

3、服务器安装Mongodb

  环境: linux系统(centOS 8 )

  这里请看我另一篇博文,有详细讲解怎么安装。

  链接:

4、安装Flask

  命令行中输入   pip3 install flask   命令执行即可完成安装。

三、Mongodb 数据库操作语句(后续会单独写一篇介绍mongodb简单增删查改的介绍博文)

四、通过Python编程操作Mongodb数据库

  背景:借助pymongo进行操作,操作语句跟Mongodb的操作语句基本一样

  1. 连接数据库

  connectMongodb.py

  

 

   通过pymongo.MongoClient() 方法可以连接数据库,这里最基本的用到了三个参数,host是存放mongodb数据库服务的主机ip,

   port是mongodb服务运行端口,tz_aware参数:如果为True,则此MongoClient作为文档中的值返回的datetime实例,将会被时区所识别。

  命令行运行该文件,可以看到成功连接数据库,python connectMongodb.py

五、Web Api用到的框架是Flask

Python Mongodb接口

Python Mongodb接口

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

同时,MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是NoSQL的优秀实现。

本文记录使用PyMongo模块,用Python调用MongoDB

工具类实现

from pymongo import MongoClient

mongodb_name = ‘dev_map‘
client = MongoClient("mongodb://localhost:27017")
mongua = client[mongodb_name]


def timestamp(cls):
    import time
    return int(time.time())


class ModelUtil(): 

    @classmethod
    def add(cls, table_name, item):
        table = mongua[table_name]
        item["deleted"] = False
        ts = timestamp()
        item["created_time"] = ts
        item["updated_time"] = ts
        
        table.insert_one(item)

    @classmethod
    def delete(cls, table_name, conditions):
        item = cls.query(table_name, conditions)
        item["deleted"] = True
        cls.update(table_name, item)

    @classmethod    
    def query(cls, table_name, conditions):
        table = mongua[table_name]
        item = table.find_one(conditions)
        return item

    @classmethod
    def exists(cls, table_name, conditions):
        table = mongua[table_name]
        item = table.find_one(conditions)
        return item is not None

    @classmethod
    def update(cls, table_name, item):
        table = mongua[table_name]
        item["updated_time"] = timestamp()
        table.save(item)

小结

使用MongDB,一方面可以像表格一样访问数据集合,另一方面,条目的类型可以是类似JSON的非结构化数据,而且正好对应Python中的dict,因此使用及其方便

以上是关于Python接口MongoDB实现接口查询数据库功能的主要内容,如果未能解决你的问题,请参考以下文章

node + mongodb 简单实现自己的查询接口

报表连 MongoDB,数据量大报表慢,怎么做分页?

报表连 MongoDB,数据量大报表慢,怎么做分页?

python实现快递鸟即时查询API接口 数据签名验证

Spring Boot MongoDb 复杂查询

MongoDB使用初步 (Python接口)