DataBase/MongoDB 6

[Flask] pymongo objectid 로 게시글 찾기

몽고디비에서 도큐멘트를 생성할 때 자동적으로 priamry key 인 '_id'를 자동적으로 생성한다. 이걸 고유한 값으로 파이몽고에서 사용해줄려고 했지만, '_id'값은 ObjectId 객체이기 때문에 파이썬에서 인식도 되지않고, 이 오브젝트 아이디 객체를 클라이언트에게 고대로 보낼 수가 없어 에러가 났다. (Type error.... ㅠ) 이 objectid를 사용하기 위해서는 2가지 방법을 이용할 수 있다 1. Object to str 첫번째 방법은 간단하게, objectid 객체를 string타입으로 변환하여 사용하는 방법이다. # object to str post["_id"] = str(post["_id"]) post["count_heart"] = db.likes.count_documents({..

DataBase/MongoDB 2021.10.19

[MongoDB] Pymongo Array 특정 요소(인덱스) 삭제하기 - $pull array

몽고디비 컬렉션 필드를 Array, 즉 배열로 만든 후, 배열의 요소로 컬렉션을 가지는 구조이다. 특정 인덱스를 삭제하고 싶어, 인덱스를 구했지만, 따로 그럴 필요없이 $pull 제한자의 조건을 이용해 해결 $pull 제한자의 탐색범위가 생각보다 넓은 것 같다. db.events.update_one({'number': int(event_id_receive)}, {"$pull": {'join': {'username': my_username}}}) 참고 : https://answer-id.com/ko/56164145

DataBase/MongoDB 2021.10.18

MongoDB 설치하기

MongoDB 실행중 갑자기 알 수 없는 에러가 떳다..ㅠ erro code : network is unreachable. reason: couldn't connect to server localhost:27017, connection attempt failed: socketexception: error connecting to localhost 에러원인이 뭉개져서 제대로 보이지 않아, 이거저거 알아보던 중 모두 지우고 다시 설치하기로 했다..ㅠㅠ 몽고디비를 지우는 방법은, 서비스 중인 몽고디비를 종료하고 해야하지만, 몽고디비에 연결도 되지 않는 상황이기에 그냥 설치했던 몽고디비 폴더를 모조리 지워버렸다. 이제 다시 설치해보자 (윈도우 기준) 1. C드라이브에, 그림과 같이 data 라는 폴더를 만들고,..

DataBase/MongoDB 2021.10.13

[MongoDB] 특정 값 증가 - Update 메소드와 $inc 제한자 ( 조회 수, 좋아요)

몽고디비에서 Update 메소드를 사용할 때 값을 수정하기위해 $set을 이용하는데, 이 set이 제한자이다. 제한자의 종류는 다양하고 기능 또한 다양합니다. 제한자의 구체적인 용어는 '갱신 제한자'로, MongoDB에서 문서의 부분 갱신을 할때 매우 효율적으로 수행할 수 있도록 하는 개념이라고 합니다. '갱신 제한자의 종류' $set document에서 특정 키의 값을 수정합니다. 특정 키가 존재하지 않다면 새롭게 생성합니다. 특정 키의 데이터형도 수정할 수 있습니다. $unset document에서 특정 키와 값을 모두 제거합니다. $nc 배열에 사용되는 제한자로써, 지정된 키가 존재하는지 확인할 수 있습니다. $inc 이미 존재하는 키의 값을 수정하거나, 새로운 키를 생성합니다. $set과 비슷하지..

DataBase/MongoDB 2021.10.09

MongoDB란, - (MongDB 시작하기, Robo3T로 조작하기, 몽고디비 조작 CRUD)

MongoDB 와 Robo3T MongoDB, Robo3T mongodb는 화면에 보이지 않지만 가동되고있는 서버이다. 이런 MongoDb를 눈에보이고 제어하기 위한 툴이 Robo3T이다. MongoDB는 딕셔너리가 쌓이는 것이다. NoSql - (Not only Sql) MongoDB는 NoSql의 종류 중 하니인데, Sql처럼 정형화 되어있지 않고, 딕셔너리 형태로 데이터를 저장해두는 DB를 NoSql이라 한다. Sql 보다 조금더 자유로운 형태이지만, 일관성이 부족할 수 있다는 단점이 있다. Sql 과 NoSql의 차이.. NoSql이 조금 더 자유롭고, SQL은 정형화되어있는 데이터베이스 1. pymongo - MongoDB 와 Python 연동 파이썬에서 mongodb를 조작하기 위해선 pymo..

DataBase/MongoDB 2021.09.18
반응형