使用python搭建mongodb操作服务
创始人
2024-12-03 20:35:04
0

搭建python服务

from flask import Flask, request, jsonify from pymongo import MongoClient  app = Flask(__name__)  # 配置MongoDB连接 client = MongoClient('mongodb://localhost:27017/')  def get_collection(db_name, collection_name):     db = client[db_name]     collection = db[collection_name]     return collection  # 插入一条记录 @app.route('/insert_one', methods=['POST']) def insert_one():     data = request.json     db_name = data.pop('db')     collection_name = data.pop('collection')     collection = get_collection(db_name, collection_name)     result = collection.insert_one(data)     return jsonify({'inserted_id': str(result.inserted_id)})  # 插入多条记录 @app.route('/insert_many', methods=['POST']) def insert_many():     data = request.json     db_name = data.pop('db')     collection_name = data.pop('collection')     documents = data.pop('documents')     collection = get_collection(db_name, collection_name)     result = collection.insert_many(documents)     return jsonify({'inserted_ids': [str(id) for id in result.inserted_ids]})  # 查找一条记录 @app.route('/find_one', methods=['GET']) def find_one():     db_name = request.args.get('db')     collection_name = request.args.get('collection')     query = request.args.to_dict()     query.pop('db')     query.pop('collection')     collection = get_collection(db_name, collection_name)     result = collection.find_one(query)     if result:         result['_id'] = str(result['_id'])     return jsonify(result)  # 查找多条记录 @app.route('/find', methods=['GET']) def find():     db_name = request.args.get('db')     collection_name = request.args.get('collection')     query = request.args.to_dict()     query.pop('db')     query.pop('collection')     collection = get_collection(db_name, collection_name)     results = collection.find(query)     result_list = []     for result in results:         result['_id'] = str(result['_id'])         result_list.append(result)     return jsonify(result_list)  # 统计记录数 @app.route('/count', methods=['GET']) def count():     db_name = request.args.get('db')     collection_name = request.args.get('collection')     query = request.args.to_dict()     query.pop('db')     query.pop('collection')     collection = get_collection(db_name, collection_name)     count = collection.count_documents(query)     return jsonify({'count': count})  if __name__ == '__main__':     app.run(debug=True) 

启用python正式服务

  • 首先安装Gunicorn:

    pip install gunicorn
  • 运行你的Flask应用:

    gunicorn -w 4 -b 0.0.0.0:8000 app:app

    这里,-w 4 表示使用4个工作进程,-b 0.0.0.0:8000 表示绑定到所有网络接口的8000端口,app:app 表示Flask应用的入口点(文件名是app.py,里面的Flask实例名称是app)。


 

测试代码

curl -X POST -H "Content-Type: application/json" -d '{"db": "your_database", "collection": "your_collection", "name": "John Doe", "age": 30}' http://localhost:8000/insert_one 

相关内容

热门资讯

科技新动态!开心跑得快有辅助工... 科技新动态!开心跑得快有辅助工具吗(透明挂)外挂透明挂辅助神器(2021已更新)(哔哩哔哩)1)开心...
4分钟实锤!吉祥麻将,微扑克切... 4分钟实锤!吉祥麻将,微扑克切实是真的有挂,介绍教程(有挂揭秘);一、吉祥麻将AI软件牌型概率发牌机...
实测发现!鄂州晃晃外 挂(透视... 实测发现!鄂州晃晃外 挂(透视)透视辅助工具(2021已更新)(哔哩哔哩)1、鄂州晃晃外 挂系统规律...
三分钟了解!好彩麻将怎样才可以... 三分钟了解!好彩麻将怎样才可以拿好牌(透视辅助)外挂透明挂辅助机制(2020已更新)(哔哩哔哩)1、...
九分钟辅助!斗棋辅助器在哪,w... 九分钟辅助!斗棋辅助器在哪,wepoker本来真的是有挂,教你攻略(有挂教程)1、下载好斗棋辅助器在...
记者揭秘!!广东雀神麻雀辅助器... 记者揭秘!!广东雀神麻雀辅助器在哪里下载(透视)透视辅助app(2020已更新)(哔哩哔哩)1、很好...
终于清楚!皮皮跑胡子输赢规律(... 终于清楚!皮皮跑胡子输赢规律(辅助挂)外挂透明挂辅助机制(2026已更新)(哔哩哔哩)1)皮皮跑胡子...
二分钟科普!花城牌舍系统规律,... 二分钟科普!花城牌舍系统规律,aAPOKER竟然存在有挂,揭秘教程(有挂插件)进入游戏-大厅左侧-新...
一分钟教你!心悦手机麻将辅牌器... 一分钟教你!心悦手机麻将辅牌器(透视辅助)外挂透视辅助挂(2024已更新)(哔哩哔哩)1、每一步都需...
科技新动态!四方河南麻将赢牌技... 科技新动态!四方河南麻将赢牌技巧(透视)外挂透明挂辅助神器(2026已更新)(哔哩哔哩)1、每一步都...