MongoDB 의 조건 조회 와 정렬 을 자세히 설명 합 니 다.

find 방법
검색 의 기본 형식 은 db.collection.find({조건})입 니 다.그 중에서 조건 은 선택 할 수 있 습 니 다.MySQL 의 WHERE 조건 과 같 습 니 다.예 는 다음 과 같다.

//        
db.collection.find({});
//          
db.collection.find({key: value});
//             
db.users.find({nickname: '    '});
조건 부 조합
$and,$or,$not 를 사용 하여 조합 조건 을 설정 할 수 있 습 니 다.

// AND     
db.collection.find({
  $and: [
    {key1: value1}, {key2: value2}
  ]
});

// OR     
db.collection.find({
  $or: [
    {key1: value1}, {key2: value2}
  ]
});

// NOT     
db.collection.find(
    {key: {$not: {     }}
);
예 를 들 어 아래 users 데이터 세트:

[
  {nickname: '    ', score: 90, gender: 'male'}, 
  {nickname: '  ', score: 98, gender: 'female'}, 
  {nickname: 'Tom', score: 76, gender: 'male'}
]
검색 점수 가 90 점 또는 76 점 인 사용자:

db.users.find({
  $or: [
    {score: 90}, {score: 76}
  ]
});
검색 성별 이 male 이 아 닌 사용자 와 검색 점수 가 80 점 이상 인 사용자:

db.users.find({
  gender: {$not: {$eq: 'male'}}
});

db.users.find({
  score: {$not: {$lt: 80}}
});
그 중에서$eq 는 같은 조건 이 고$lt 는 조건 보다 작 습 니 다.조건 은 끼 워 넣 어서 사용 할 수 있 습 니 다.예 를 들 어 and 와 and 와 or 끼 워 넣 기 는(a||b)&&(c||d)를 표시 합 니 다.형식 은 다음 과 같 습 니 다.

// AND OR       
db.collection.find({
  $and: [
    {$or: [{key1: value1}, {key2: value2}]},
    {$or: [{key3: value1}, {key4: value2}]},
  ]
});
//   nickename        ,    90 76   
db.users.find({
  $and: [
    {$or: [{nickname: '    '}, {nickname: '  '}]},
    {$or: [{score: 90}, {score: 76}]}
  ]
});
//   nickname         90, nickname       76   
db.users.find({
  $or: [
    {$and: [{nickname: '    '}, {score: 90}]},
    {$and: [{nickname: '  '}, {score: 76}]}
  ]
});
//  nickname     ,      80    
db.users.find({
  $and: [
    {nickname: '    '},
    {score: {$not:{$lt: 80}}}
  ]
});
비교 조작 부호
MongoDB 에 서 는 다음 과 같은 비교 연산 자 를 제공 합 니 다.비교 연산 자의 형식 은{key:{$op:value}입 니 다.
$eq:같은 연산 자,즉 a==b;$lt:a>b 보다 크다
  • $gte:크기 가 같 으 면 a>=b;
  • $lt:이하,즉 a$lt:이하,즉 a<=b.
    IN 검색
    in 조회 의 형식 은 비교 조작 부호 와 유사 하지만 대응 하 는 값 은 수조,즉
    
    db.collection.find({key: {$in: [...]}});
    
    예 를 들 어 점수 가 90,76 인 사용 자 를 찾 아야 합 니 다.
    
    db.users.find({score: {$in: [76, 90]}});
    
    in 조회 도 다른 조건 과 조합 할 수 있 습 니 다.예 를 들 어 and 조회:
    
    db.users.find({
     $and: [
       {score: {$in: [76, 90]}},
       {gender: 'male'}
       ]
    });
    
    결과 항목 수 반환 과 데이터 건 너 뛰 기 제한
    find 방법 은 모든 조건 에 맞 는 데 이 터 를 찾 을 수 있 기 때문에 데이터 세트 가 많 을 때 속도 가 느 리 고 대량의 디스크 I/O 가 발생 할 수 있 습 니 다.데이터 가 1 개 밖 에 없 는 것 을 확인 할 때 findOne 을 사용 할 수 있 습 니 다.검색 항목 수 를 제한 하려 면 limit 이나 skip 을 사용 할 수 있 습 니 다.limit 은 지 정 된 수량 을 조회 한 후 결 과 를 되 돌려 주 는 것 이 고,skip 은 앞에서 지 정 된 수량 을 뛰 어 넘 은 결과 입 니 다.
    
    //            n    
    db.collection.find({key: value}).limit(n);
    //  :    80  3   
    db.users.find({score: {$gt: 80}}).limit(3);
    //           ,    n    
    db.collection.find({key: value}).skip(n);
    //  :     80    ,   3 
    db.users.find({score: {$gt: 80}}).skip(3);
    
    정렬
    정렬 사용 형식 은 다음 과 같 습 니 다:
    
    db.collection.find({  }).sort({key: 1});
    
    그 중에서 1 은 오름차 순 을 나타 내 고-1 은 내림차 순 을 나타 낸다.예 를 들 어 우 리 는 점수 내림차 순 으로 정렬 해 야 한다.
    
    db.users.find().sort({score: -1});
    
    총결산
    이 편 에 서 는 반환 개수 와 정렬 을 제한 하 는 MongoDB 의 조건 조회 조작 을 소개 한다.이 를 통 해 알 수 있 듯 이 MongoDB 의 조작 은 문법 과 SQL 이 다 르 지만 모두 해당 하 는 기능 보조 조회 가 있어 조회 에 도 매우 편리 하 다.
    이상 은 MongoDB 의 조건 조회 와 정렬 에 대한 상세 한 내용 입 니 다.MongoDB 의 조건 조회 와 정렬 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 시기 바 랍 니 다!

    좋은 웹페이지 즐겨찾기