MongoDB を使用して Flask で JSON を吐き出す API を作成しようとしています。
私のコントローラーでは、次のようなルート設定があります。
@frontend.route('/api/get_images_by_building_id/<building_id>')
def api_get_images_by_building_id(building_id):
building_images = database.get_images_by_building_id(building_id)
return building_images
データベースとしてインポートされた db.py には、次の 2 つの機能があります。
def get_image_ids_by_building_id(self, building_id):
try:
return self.buildings.find_one(ObjectId(building_id),{"vertical_images":1})["vertical_images"]
except:
return None
これは以下を返します:
[ObjectId('506638290f536676fc004702'), ObjectId('506638290f536676fc004703'), ObjectId('506638290f536676fc004704'), ObjectId('506638290f536676fc004705'), ObjectId('506638290f536676fc004706'), ObjectId('506638290f536676fc004707'), ObjectId('506638290f536676fc004708')]
そして2番目の機能:
def get_images_by_building_id(self, building_id):
try:
image_ids = self.get_image_ids_by_building_id(building_id)
temp = self.images.find({ "_id" : { "$in" : image_ids } })
return temp
except:
return None
mongo カーソル オブジェクトを処理するためのベスト プラクティスは何ですか? コントローラーでjson化できないため、問題が発生します。データベース関数では、出力したい方法でデータを正確に操作する必要がありますか、それともコントローラーで行う必要がありますか?