如何使用 flask mongoengine 获取数据
how to get data using using flask mongoengine
我正在使用 mongoengine、flask,我正在尝试将数据插入数据库
我的代码
from flask import Flask,jsonify,request
from flask_mongoengine import MongoEngine
from mongoengine import connect
app = Flask(__name__)
app.config['MONGODB_DB'] = 'programming'
db = MongoEngine(app)
connect('db')
@app.route('/add', methods = ['POST'])
def add_data():
#language = {'name':'pyhton'}
db.languages.insert( {'name': request.form.get('name','python')})
return jsonify({'message':"Inserted Succesfuuly"})
if __name__ == '__main__':
app.run(debug=True,port=8000)
Error:
File "/home/ravi/PycharmProjects/flaskapi/helloapi.py", line 21, in add_data
db.languages.insert( {'name': request.form.get('name','Ravi')})
AttributeError: 'MongoEngine' object has no attribute 'languages'
帮助将不胜感激..
这意味着您不能像这样在您的数据库上使用集合。 db = MongoEngine(app)
配置您的数据库设置。所以你需要像这样定义 languages
集合:
class languages(db.Document):
name = db.StringField()
...
@app.route('/add', methods = ['POST'])
def add_data():
#language = {'name':'python'}
lang = languages(name=request.form.get('name','python'))
lang.save()
return jsonify({'message':"Inserted Succesfuuly"})
如果你想插入已经创建的languages
集合,你可以使用pymongo
:
from pymongo import MongoClient
client = MongoClient()
db = client.db_name
@app.route('/add', methods = ['POST'])
def add_data():
#language = {'name':'pyhton'}
db.languages.insert_one( {'name': request.form.get('name','python')})
return jsonify({'message':"Inserted Succesfuuly"})
我正在使用 mongoengine、flask,我正在尝试将数据插入数据库 我的代码
from flask import Flask,jsonify,request
from flask_mongoengine import MongoEngine
from mongoengine import connect
app = Flask(__name__)
app.config['MONGODB_DB'] = 'programming'
db = MongoEngine(app)
connect('db')
@app.route('/add', methods = ['POST'])
def add_data():
#language = {'name':'pyhton'}
db.languages.insert( {'name': request.form.get('name','python')})
return jsonify({'message':"Inserted Succesfuuly"})
if __name__ == '__main__':
app.run(debug=True,port=8000)
Error:
File "/home/ravi/PycharmProjects/flaskapi/helloapi.py", line 21, in add_data db.languages.insert( {'name': request.form.get('name','Ravi')})
AttributeError: 'MongoEngine' object has no attribute 'languages'
帮助将不胜感激..
这意味着您不能像这样在您的数据库上使用集合。 db = MongoEngine(app)
配置您的数据库设置。所以你需要像这样定义 languages
集合:
class languages(db.Document):
name = db.StringField()
...
@app.route('/add', methods = ['POST'])
def add_data():
#language = {'name':'python'}
lang = languages(name=request.form.get('name','python'))
lang.save()
return jsonify({'message':"Inserted Succesfuuly"})
如果你想插入已经创建的languages
集合,你可以使用pymongo
:
from pymongo import MongoClient
client = MongoClient()
db = client.db_name
@app.route('/add', methods = ['POST'])
def add_data():
#language = {'name':'pyhton'}
db.languages.insert_one( {'name': request.form.get('name','python')})
return jsonify({'message':"Inserted Succesfuuly"})