Advertisement
vitareinforce

Simple Mongodb Python

Mar 27th, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.77 KB | None | 0 0
  1. from flask import Flask, jsonify, request
  2. from flask_pymongo import PyMongo
  3. from bson import Binary, Code
  4. from bson.json_util import dumps
  5.  
  6. app = Flask(__name__)
  7. app.config["MONGO_URI"] = "mongodb://username:password@localhost:27017/databaseName"
  8. mongo = PyMongo(app)
  9.  
  10. @app.route('/sample', methods=['GET', 'POST', 'DELETE', 'PATCH'])
  11. def sample():
  12.     if request.method == 'GET':
  13.         query = request.args
  14.         data = mongo.db.sample.find()
  15.         return dumps(data)
  16.  
  17.     data = request.get_json()
  18.     if request.method == 'POST':
  19.         if data.get('name', None) is not None and data.get('email', None) is not None:
  20.             mongo.db.sample.insert_one(data)
  21.             return jsonify({'ok': True, 'message': 'User created successfully!'}), 200
  22.         else:
  23.             return jsonify({'ok': False, 'message': 'Bad request parameters!'}), 400
  24.  
  25.     if request.method == 'DELETE':
  26.         if data.get('email', None) is not None:
  27.             db_response = mongo.db.sample.delete_one({'email': data['email']})
  28.             if db_response.deleted_count == 1:
  29.                 response = {'ok': True, 'message': 'record deleted'}
  30.             else:
  31.                 response = {'ok': True, 'message': 'no record found'}
  32.             return jsonify(response), 200
  33.         else:
  34.             return jsonify({'ok': False, 'message': 'Bad request parameters!'}), 400
  35.  
  36.     if request.method == 'PATCH':
  37.         if data.get('query', {}) != {}:
  38.             mongo.db.sample.update_one(
  39.                 data['query'], {'$set': data.get('payload', {})})
  40.             return jsonify({'ok': True, 'message': 'record updated'}), 200
  41.         else:
  42.             return jsonify({'ok': False, 'message': 'Bad request parameters!'}), 400
  43.  
  44. if __name__ == "__main__":
  45.     app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement