
IT/DB 2021. 2. 19.
MongoDB Compass 로 데이터 내보내기
MongoDB Compass 로 데이터 내보내기 해보기 GUI 툴에도 이런 기능이 있다니 쉽게 CSV로 내보낼 수 있어서 좋네 일단 collection 메뉴에서 Export Collection을 선택한다. 모든걸 내보내도 되고, 원하는 데이터만 필터링 해서 내보내도 된다. 아래 그림에서 원하는 조건을 입력하면 원하는 데이터만 뽑아 낼 수 있다. 그럼 이제 뽑아낼 필드를 선택할 수 있다. 필드를 선택해서 Select output 을 선택하면, CSV 나 JSON 형태로 데이터를 내보낼 수 있다. 끝. 너무 편리하다. BJ.

IT/DB 2021. 2. 19.
MongoDB find remove 예제 몇개 - mongo shell
MongoDB find remove 예제 몇개 mongo shell에서 console 로 하나하나 쳐서 하려니 불편하긴 하지만 연습은 해 놔야지. 일단 DB를 수정하기 위해서는 아래 단계로 admin 권한을 획득하고 > use admin switched to db admin > db.auth('admin','패스워드') 1 > show databases admin 0.000GB config 0.000GB local 0.000GB twarelabDB 0.014GB > use 원하는DB명 switched to db twarelabDB > db.result.find({'box':{$regex:"pa_backup"}}) 부분 문자열로 Documents 가 있는지 확인해 보고, 필요하면 찾기에 사용한 검색식을 이..

IT/파이썬 2021. 2. 17.
파이썬 Mongoengine 에서 Document 삭제 방법 flask
파이썬 Mongoengine 에서 Document 삭제 방법 flask flask mongoengine 을 쓴다면 아래 방법으로 document 를 삭제할 수 있다. delete()로 간단하게 지울 수 있다. lunch = Food.objects.first() // Get a single 'Food' instance lunch.delete() // Delete it! 혹은 바로 찾아서 지우는 것도 가능하다. Food.objects(type="snacks").delete() Mongo shell 에서 지우려면 아래와 같이 수행하면 된다. > db.food.remove( { type : "snacks" } ) > db.monsters.deleteOne({ name: 'Zerp' }); 이 모든 내용은 아래 ..

IT/DB 2021. 2. 16.
Mongodb 한번에 여러 documents 필드값 바꾸기
몽고DB...sql query도 아니고...이것도 어렵네..에효 무튼 정답은 아래를 참고 일단 원하는 collection 에 원하는 document를 찾아 $set 이라는 키워드로 특정 필드값을 업데이트 하는 예제 아래는 전체를 찾아 workline 이라는 필드를 object id xxxxx 를 갖는 reference field 혹은 embedded document 값으로 변경하는 실제 명령 예제 > db.order_item.update({}, { $set: {"workline":ObjectId("602b5cc41c50452150fc5ad0")}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.order_item.updat..

IT/DB 2021. 2. 15.
MongoDB 부분 문자열 검색 - MongoDB Compass 사용법
MongoDB 부분 문자열 검색 - MongoDB Compass 사용법 보통 대부분 부분 문자열로 다큐먼트를 검색하는 것이 일반적인데, 대부분 예제들이 그냥 완전이 같은 것만 찾는 것으로 되어 있으니 쩝.. 일단 정답은 필터 부분에 아래처럼 쓰면 된다. $regex 정규식을 사용해야 하네~~ >> { name:{ $regex : "원하는부분문자열"} } SR이 포함된 이름을 찾으라 했더니 잘 찾네. 대소문자 구분하니 주의하고, 혹시 대소문자 구분없이 쓰려면 아래처럼 option을 또 줘야 한다. >> { name:{ $regex : "원하는부분문자열", '$options': 'i'} } 참고한 문서는 아래글... docs.mongodb.com/compass/master/query/filter Query ..

IT/파이썬 2021. 2. 14.
파이썬 mongodb mongoengine 데이터 가져오기
mongoengine 에서 데이터 즉, Document 단위의 데이터를 가져오려면 기본적으로 클래스명.obects 를 하면 전체 Document 를 가져올 수 있다. 이전에 살펴본 대로, 여기서 필터링을 통해 원하는 조건의 데이터만 가져오려면 targetCollection = Customer.objects(id=customerid) 이렇게 조건식을 objects 에 매개변수로 넘겨주면 된다. 대부분 리스트로 리턴하게 되는데 조건에 맞는 하나의 데이터를 가져오려면 혹은 unique ID 를 조건으로 주고 하나의 데이터만 딱 가져오려면 그냥 obect 에 조건식을 주지 말고 하나 더 단어를 쓰자 customer = Customer.objects.get(id=body["customerid"]) 클래스명.obj..

IT/파이썬 2021. 2. 14.
파이썬 mongodb MongoEngine 사용시 filter 함수
mongoengine 을 쓸때, 데이터를 필터링해서 내는 조건을 적는 구문이 2개 나온다. (what-is-the-difference-of-objects-and-filter-in-mongoengine?) objects(필터링조건) objects.filter(필터링조건) 무슨 차이가 있어 찾아보다가 클리어 한 대답. 아무런 차이가 없다 There is no difference, one is an alias of the other: stackoverflow.com/questions/27340789/what-is-the-difference-of-objects-and-filter-in-mongoengine What is the difference of objects and filter in mongoengine..

IT/파이썬 2021. 2. 13.
파이썬 flask Response JSON 리스트로 내보내기
파이썬 flask Response JSON 리스트로 내보내기 이거 쉬운데, 막상 해보고 고생해서 작성해둠음... JSON 의 리스트로 보내려고 하니 막 오류가 많이 떠서 고생 무튼 정답은 아래 일단, 스트링의 리스트로 만든다음 리스트 통째로 json.dumps(리스트) 를 이용해서 JSON 객체들의 리스트 형태로 리턴해 줄 수 있다. import json resultJSONt = [{"count": result.count()}] resultJSON = json.dumps(resultJSONt) print(resultJSON) # result = Customer.objects().to_json() return Response(resultJSON, mimetype="application/json", stat..

IT/파이썬 2021. 2. 13.
파이썬 MongoDB 결과 페이지 단위로 나눠보기
찾아낸 결과가 엄청 많아서 페이지 단위로 접근하고 싶다면, 아래 쿼리를 꼭 배우세요~ db.orders.find().sort( { "_id": -1 } ).skip((page-1)*2).limit(2); 길게 보이지만, 원하는 결과를 찾아서, 정렬하고, 앞에 부분을 원하는 개수만큼 스킵하고, 제한된 숫자로 가져오고 그래도 모르면 쓸 수 없다는....자세한 내용은 아래 원본 글을 참고합시다. 글 저자 보호~~ velopert.com/516 [MongoDB] 강좌 4편 find() 메소드 활용 – sort(), limit(), skip() | VELOPERT.LOG 이번 강좌에선 find() 메소드를 더욱 더 활용하기 위해 필요한 sort(), limit(), skip() 메소드에 대해 배워보겠습니다. 그냥..

IT/DB 2021. 1. 27.
MongoDB Compass 이용시 연결 문자열 MongoDB GUI 도구
요거요거, 간단한데 갑자기 생각이 안나서 찾아본다. mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin 간략하게는 아래 내용보고 자신에게 맞게 수정해서 쓰면 된다. mongodb://아이디:패스워드@MongoDB서버주소:포트넘버/ 아니면 정보를 넣는 화면을 띄워서 접속해도 된다. 아래 글을 참고하세요. fici.tistory.com/17 MongoDB) MongoDB GUI 도구 : MongoDB Compass MongoDB Compass는 MongoDB를 분석하는데 쓰이는 GUI 환경의 클라이언트이며, 공식 MongoDB에서 배포하고 있습니다. 저는 가벼운 작업(쿼리 테스트, DB 데이터 확인 등)을 ..

IT/파이썬 2021. 1. 26.
파이썬 flask mongodb document count 리턴해주기
이 간단한 것도 많이 찾아봐야 하네. 일단 몽고db collection에 있는 검색된 결과의 count를 가져오려면 그냥 .count() 함수를 부르면 되네. 이 결과를 JSON 형태의 리턴을 위해서는 flask 에 있는 jsonify 함수를 쓰면 되고 머 요청된 url 에 "/count" 라고 어미를 달고 들어오면 숫자를 넘겨주고 아니면 다큐먼트 객체들을 JSON으로 변경해서 돌려주는 코드 예제가 되겠다. search = "/count" if search in request.path: return jsonify(count=Result.objects.filter(orderitem=orderitemid).count()) else: result = Result.objects.filter(orderitem=o..

IT/파이썬 2021. 1. 12.
파이썬 two way referencing in mongoengine - ReferenceField 팁과 문제 해결
아직 선언안된 테이블, 컬렉션 (머라 부르던) 객체를 레퍼런스 하는 필드를 추가하고 싶을때 NameError: name 'XXXX' is not defined 에러가 발생한다. 쉽게 해결하기 위해서는 레퍼런스 할 모델 클래스를 사용하기 전에 선언하면 좋긴한데 두 클랙스 사이에 각자가 각각 레퍼런스 하는 경우도 있기 때문에 순서로 해결하기 어려운 경우가 더 많다. 이중 참조 문제 해결 그런데, 아주 쉽게 해결이 되었다. github.com/MongoEngine/mongoengine/issues/1697 two way referencing in mongoengine · Issue #1697 · MongoEngine/mongoengine Hey i read here about two way referencin..

IT/파이썬 2021. 1. 11.
파이썬 flask Mongodb 연결하기 - flask_mongoengine
파이썬 flask Mongodb 연결하기 flask_mongoengine 을 사용하는 경우, mongodb 연결 문자열을 만드는 코드를 참고용으로 남겨둔다. 보통 가장 기본적인 코드는 host 에 적혀있는 것인데, 사용자 로그인이 필요하다면 아래 코드를 참고하도록 하자. app.config['MONGODB_SETTINGS'] = { # 'host': 'mongodb://localhost/movie-bag' 'db': '데이터베이스이름', 'host': '접속 주소, 아이피 같은거', 'port': 27017, #기본포트넘버 'username':'사용자아이디', 'password':'사용자패스워드', 'authentication_source': 'admin' # 이줄은 그냥 넣어줘야 되더라구, 흠, 찾아봐..
