맛집 소개 서비스 2

more·2023년 5월 10일
0

맛집소개서비스

목록 보기
2/4

사슐랭

계속 맛집 소개 서비스를 만들고 있는 중이다.
만드는 과정에서 생긴 에러들을 팀원 분들과 같이 처리하다 보니 시간이 아주 빠르게 지나간 느낌이다..

let temp_html = `<div class="col">
                                        <div class="card h-100">
                                            <img src="${image}">
                                            <div class="card-body">
                                                <a href="javascript:;" class="icon heart"><img
                                src="https://cdn-icons-png.flaticon.com/512/812/812327.png"></a>
                                                <h5 class="card-title">${name}</h5>
                                                <p class="card-cate">${cate}</p>
                                                <p class="card-address">${address}</p>
                                                <p class="card-cost">${cost}</p>
                                                <p class="card-menu">${menu}</p>                        
                                                <p class="card-star">${star_repeat}</p>
                                                <p class="card-comment">${comment}</p>
                                            </div>
                                        </div>
                                    </div>`;

                    $('#cards-box').append(temp_html);

위 코드가 html에 변수를 넣어서 대체 시키는 코드인데 오류가 계속 있어서 찾다보니 위에 변수 하나를 선언을 안해놓고 계속 사용하고 있어서 나는 오류였다... 이 오류만 한시간 동안 찾았는데...

어제 알아보려고 했던 gridFS를 계속 공부를 해나가고 있는 중이다.
일단 현재까지 이해한 바로는 gridFS는 이미지 파일을 작은 chunk 단위로 쪼개서 mongoDB에 저장하는 것인데 그렇게 저장하면 fs.files와 fs.chunks라는 collection이 생성된다.



위의 캡쳐본들이 fs.chunks와 fs.files 들인데 fs.files에 내가 업로드한 이미지이름을 filename으로 저장하였고, fs.chunks에는 fs.files의 _id가 저장되어 있어서 _id로 찾으면 될 것으로 보인다.

@app.route("/menu", methods=["GET"])
def menu_get():

    all_dbFiles = list(db.fs.files.find({}))

    all_dbChunks = list(db.fs.chunks.find({},{'_id':False}))

    all_chunks = list()

    for chunk in all_dbChunks:
        doc = {
            'files_id': chunk['files_id'],
            'n': chunk['n'],
            'data': chunk['data']
        }

    all_menus = list(db.delicious.find({},{'_id':False}))     

    # return jsonify({'result': all_menus, 'fsFiles': all_dbFiles, 'fsChunks': all_dbChunks})
    return jsonify({'result': all_menus})

하지만 fsChunk를 전부 보내려했지만 binary type을 json으로 보낼 수 없다. 라는 오류메시지가 계속 떠서 decode도 해보고 json.dump도 해보고 여러 시도를 해봤지만 보내지지가 않는다.
일단 내일도 더 시도를 해봐야 될 듯 하다.

profile
조금 더

0개의 댓글