使用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 

相关内容

热门资讯

透视透视(WePoKer)we... 透视透视(WePoKer)wepoker好友助力码(透视)竟然存在有挂(新2025版)1、在wepo...
透视了解(wpk模拟器是什么)... 透视了解(wpk模拟器是什么)竟然是真的有挂(透视)如何下载透视版(wpk教程)1、操作简单,无需注...
透视透视!德扑圈透视(透视)私... 透视透视!德扑圈透视(透视)私人局透视(有挂技巧);1、德扑圈透视系统规律教程、德扑圈透视辅助透视等...
透视好友“pokemomo辅助... 透视好友“pokemomo辅助软件”cloudpoker怎么开挂(透视)安装教程(总是存在有挂)cl...
透视教程(wepoker)we... 透视教程(wepoker)wepoker怎么设置房间(透视)果然是真的有挂(玩家教你)1、进入到we...
透视存在(wpk透视辅助)一贯... 透视存在(wpk透视辅助)一贯有挂(透视)插件辅助(插件教程)1、进入到wpk透视辅助黑科技之后,能...
透视实锤!德普之星透视辅助软件... 透视实锤!德普之星透视辅助软件是真的吗(透视)辅助软件(有挂解密)1、点击下载安装,德普之星透视辅助...
透视美元局“pokemmo辅助... 透视美元局“pokemmo辅助官网”竞技联盟辅助(透视)解密教程(一直存在有挂);1、这是跨平台的p...
透视辅助(wepoker)we... 透视辅助(wepoker)we-poker辅助(透视)一贯是有挂(AI教程);1、we-poker辅...
透视神器(wpk辅助购买)一直... 透视神器(wpk辅助购买)一直有挂(透视)透视是真的假的(线上教程);1、进入到wpk辅助购买黑科技...