항해하다/항해 - 0주차

[항해] 사전 프로젝트 (3.5) - 도와줘요 집단지성!

위르겐 2022. 7. 1. 16:38

 

간단한 CRUD라

오래 걸리지 않을거라 예상했지만

의외의 복병을 마주했다.

 

 

몽고DB

CRUD 중 하나인 delete문법...

 

 

@app.route("/supplies/delete", methods=["POST"])
def supplies_delete():
    index_receive = request.form['index_give']
    num_receive = request.form['currentNum_give']
    print(index_receive, num_receive)

    db.supplies.delete_one({ "$and": [{'num': int(num_receive)}, {'supplieslist.index': int(index_receive)}]})
    return jsonify({'msg': '삭제 완료!', 'num': int(num_receive), 'index': int(index_receive)})

 

이건 구글링을 아무리해도 답이 안나오는데..

 

 

 

 

 

분명 done함수에서

 

@app.route("/supplies/done", methods=["POST"])
def supplies_done():
    index_receive = request.form['index_give']
    num_receive = request.form['currentNum_give']

    travel_list = db.travels.find_one({'num': int(num_receive)})

    if travel_list['supplieslist'][int(index_receive) - 1]['done'] == 0:
        db.travels.update_one({"$and": [{'num': int(num_receive)}, {'supplieslist.index': int(index_receive)}]}, {'$set': {'supplieslist.$.done': 1}})
    else:
        db.travels.update_one({"$and": [{'num': int(num_receive)}, {'supplieslist.index': int(index_receive)}]}, {'$set': {'supplieslist.$.done': 0}})
    return jsonify({'msg': '체크 완료!', 'supplieslist': travel_list['supplieslist']})
    # return jsonify({'msg': '체크 완료!', 'done': supplies_num['done']})

 

 

        db.travels.update_one({"$and": [{'num': int(num_receive)}, {'supplieslist.index': int(index_receive)}]}, {'$set': {'supplieslist.$.done': 1}})

 

update할 땐 위와 같이 

$and문법으로 num값과 index값이

일치하는 데이터를 불러올 수 있었는다.

 

 

 

 

delete는

그렇게도 해보고

이렇게도 해보고

저렇게도 해보고

 

아무리 구워삶아도

꿈쩍하지 않는다.

 

 

마치 포켓몬스터 골드버전에서

잠만보를 만난 기분이랄까

 

 

 

각 사진에 해당하는 num 안에서

그 중에 index를 선택해

해당 데이터만 지우는 거 때문에

시간이 꽤 지체되고 있다....

 

항해떠날날이 얼마 남지않았는데

오늘안에 꼭 해결하고 오겠슴다

반응형