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

相关内容

热门资讯

智能辅助(线上wpk德州)软件... 智能辅助(线上wpk德州)软件透明挂辅助工具(辅助挂)一般真的有挂(2023已更新)(百度知乎);亲...
黑科技辅助挂!德扑之星作弊&q... 黑科技辅助挂!德扑之星作弊"微扑克德州专用辅助器"就是真的有挂(有挂下载)-小红书1、玩家可以在微扑...
wepoke辅助(线上wpk德... wepoke辅助(线上wpk德州)wepower有外 挂(透明黑科技)的确是有挂的(有挂靠谱)-小红...
黑科技辅助(扑克时间)外挂透明... 黑科技辅助(扑克时间)外挂透明挂辅助工具(透视)一般真的有挂(2025已更新)(知乎)1、玩家可以在...
透视辅助!微扑克德州专用辅助器... 透视辅助!微扑克德州专用辅助器"aapoker安卓可以下载"都是真的有挂(有挂游戏)-百度1、该软件...
wpk辅助(德州机器人)软件透... wpk辅助(德州机器人)软件透明挂辅助工具(透视辅助)就是真的有挂(2022已更新)(今日头条);1...
wepoke辅助(aapokE... wepoke辅助(aapokER)pokerwoeld安卓下载(辅助挂)原来真的有挂(有挂代打)-哔...
透视辅助挂!德扑ai智能机器人... 透视辅助挂!德扑ai智能机器人"智星德州菠萝辅助"就是真的有挂(有挂德州版)-知乎1)智星德州菠萝辅...
wepoke辅助(pokern... wepoke辅助(pokernow德州)外挂透明挂辅助神器(辅助透视)的确是有挂的(2022已更新)...
wepoke辅助(WepoKe... wepoke辅助(WepoKe)微扑克发牌逻辑(辅助挂)好像真的有挂(有挂AI)-今日头条1、微扑克...