2017-03-09 12 views
0

はるかに大きな片から減少したコードのこのシンプルな作品が呼ぶ「検索」pymongoにエラーが発生します。Flask_PyMongo:TypeError例外:「データベース」オブジェクト呼び出すことはできません

from flask import Flask, request, jsonify 
from flask_pymongo import PyMongo 
from os import environ 

CLIENT_PATH = "/api/v1.0" 

app = Flask(__name__) 
app.config['MONGO_URI'] = environ.get('MONGODB_URI', "mongodb://localhost:27017/test") 
mongo = PyMongo(app) 

@app.route(CLIENT_PATH, methods=['GET']) 
def getClients(): 
     data = [] 
     cursor = mongo.db.client.find({}, {"_id": 0}) 
     for item in cursor: 
      client_detail = {} 
      client_detail['url'] = CLIENT_PATH + "/" + str(item.get('id')) 
      client_detail['clientTitle'] = str(item.get('firstName')) + " " + str(item.get("familyName")) 
      data.append(client_detail) 
     return jsonify({"status": "success", "payload": data}) 

if __name__ == "__main__": 

    app.run(debug=True) 

と私のpythonでこれを実行した場合2.7と私は、次のエラーメッセージが表示されます「http://localhost:5000/api/v1.0」上のブラウザからの呼び出しを行う:使用中の

 File "/Users/markschulz/Projects/client/flask-client/app.py", line 16, in getClients 
    cursor = mongo.db.client.find({}, {"_id": 0}) 
    File "/Users/markschulz/Projects/client/venv/lib/python2.7/site-packages/pymongo/database.py", line 1116, in __call__ 
    self.__name, self.__client.__class__.__name__)) 
    TypeError: 'Database' object is not callable. If you meant to call the 'find' method on a 'MongoClient' object it is failing because no such method exists. 

ソフトウェアのバージョンは次のとおりです。pymongo == 3.4.0フラスコ== 0.12フラスコ-PyMongoの== 0.4.1

ここには何がありますか?

「DB」は、データベースの名前と「コレクション」です
mongo.db.collection.find({}, {"_id": 0}) 

は、あなたのコレクションの名前です:

答えて

0

あなたが何かのようにしたいです。

関連する問題