본문 바로가기
개발/MongoDB

MongoDB 검색 조회 - query

by blacktree 2022. 8. 4.
반응형

회사에서 MongoDB를 사용 중이라서 가끔씩 검색할 일이 있는데 할 때마다 헷갈려서 아래와 같이 정리해봤습니다. 

 

기존 SQL와 다르기 때문에 적응이 쉽지 않네요.

 

저는 MongDB Compass를 사용하여 검색해봤습니다. 구조와 명령어는 같으니 참고해서 사용하시면 될 것 같습니다.

 

Document를 검색하는 find() 메소드

콘솔 : db.COLLECTION_NAME.find(query, projection)

MongDB Compass : Filter가 find역할을 해주니 여기에 검색 조건을 넣는다.

 

  1. 동등 검색
    1. db.user_collection.find("user_name":"홍길동")
  2. 포함된 문장 검색
    1. db.user_collection.find({ "user_name": {"$regex": "홍길동"} })
  3. 특정 문장 제외하고 검색
    1. db.user_collection.find({"$nor":[{ "user_name": {"$regex": "홍길동"} }]})
    2. $nor은 여러 개의 조건을 모두 만족하지 않는 다큐먼트를 찾습니다
  4. array 형태의 데이터 검색
    1. db.collection.find({"programList":{$elemMatch:{"_id":1}}})
    2. $elemMatch 사용하여 배열 안에 key값을 검색할 수 있다.
  5. 리스트 안에 특정 키워드 검색
    1. db.collection.find({"foods":{$in:{"name":["apple"]}}})
    2. $in 리스트 안에 들어있는 값들 중 하나인 필드를 찾습니다.
  6. 비교 값으로 검색
    1. db.user_collection.find("age":{"$gte":30})
    2. $gt : 비교하는 값보다 더 큰 값을 가져옴 (i.e. >)
    3. $gte : 비교하는 값보다 크거나 같은 값을 가져옴 (i.e. >=)
    4. $lt : 비교하는 값보다 작은 값을 가져옴 (i.e. <)
    5. $lte : 비교하는 값돠 작거나 같은 값을 가져옴 (i.e. <=)

 

 

 

728x90
반응형

댓글