我正在尝试创建一个使用 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 中,我有以下两个功能:
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')]
第二个功能:
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 游标对象的最佳实践是什么?它会导致问题,因为我无法在控制器中对其进行 jsonify。在数据库函数中,我应该完全按照我想要的方式操作数据,还是应该在控制器中完成?