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

相关内容

热门资讯

透视经验!拱趴大菠萝挂哪里(透... 透视经验!拱趴大菠萝挂哪里(透视)开挂透视修改器(哔哩哔哩)在进入拱趴大菠萝挂哪里软件靠谱后,参与本...
透视技法!aapoker怎么设... 透视技法!aapoker怎么设置抽水,aapoker辅助怎么用(透视)原来存在有脚本攻略(哔哩哔哩)...
透视机巧!epoker免费透视... 透视机巧!epoker免费透视脚本,wepoker游戏下载(透视)总是是真的挂(哔哩哔哩)1)epo...
最新研发"开心茶苑1... 最新研发"开心茶苑13道辅助"都是是真的有辅助方法(有挂助手)-哔哩哔哩1、上手简单,内置详细流程视...
透视诀窍!wejoker辅助脚... 透视诀窍!wejoker辅助脚本(透视)开挂透视下载(哔哩哔哩)一、wejoker辅助脚本游戏安装教...
透视步骤!wpk透视怎么安装,... 透视步骤!wpk透视怎么安装,hhpoker有辅助吗(透视)确实有挂(哔哩哔哩)该软件可以轻松地帮助...
透视举措!佛手在线大菠萝辅助,... 透视举措!佛手在线大菠萝辅助,pokeplus脚本(透视)其实有透视脚本(哔哩哔哩)1、每一步都需要...
来临"菠萝辅助器1.... 您好,菠萝辅助器1.3这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
透视法子!wepoker透视有... 您好,wepoker透视有用吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
透视学习!pokemmo脚本手... 透视学习!pokemmo脚本手机版,pokemmo手机脚本辅助器(透视)确实是真的挂(哔哩哔哩)1、...