## 전체 조회 
> db.COLLECTION_NAME.find({}) 

> db.getCollection('COLLECTION_NAME').find({}).pretty()

 

## 조건 검색

- name 값이 "hong gil dong"

> db.COLLECTION_NAME.find({"name" : "hong gil dong"}) 

 

- count 값이 30 이하

> db.COLLECTION_NAME.find({"count": {$lte: 30}})

 

- count값이 10보다 크고 30보다 작은 Document 조회

> db.COLLECTION_NAME.find( { “count”: { $gt: 10, $lt: 30 } } )

 

- name값이 “hong gil dong” 이고 count 값이 10 미만인 Document 조회

> db.COLLECTION_NAME.find( { $and: [ { "name": "hong gil dong" }, { "count": { $lt: 10 } } ] } )

> db.COLLECTION_NAME.find( { "name": "hong gil dong", "count": { $lt: 10 } } )

 

- 해당시간 이후값

> db.COLLECTION_NAME.find({'time' : { '$gt': '2019/11/04 17:15:16.307'}})

      { 'TIME' : { '$gt' : ISODate("2019-11-10T10:53:05.261Z") } }
      { 'TIME' : { '$lte' : new Date("2019-11-13T10:53:05.261Z") } }

 

{ 'GW_DT' : { '$gt' : ISODate("2020-09-18T14:28:00.000Z")} ,  'GW_DT' : { '$lt' : ISODate("2020-09-18T14:29:00.000Z") } , "DE_MAC":/^AC/}  

 

- 정규식

 { 'DE_MAC': {"$regex":"^AC"}}

 

db.CL_DEVICE_DATA.aggregate([
      { '$match' : 
        { '$and' : 
          [  
            { 'GW_DT' : { '$gt'   : ISODate('2020-09-18T13:26:36.508Z')} } 
           ,{ 'GW_DT' : { '$lte'  : ISODate('2020-09-18T13:30:36.508Z') } }
           ,{ 'DE_MAC' : 'AC:23:3F:50:18:B0' }
           ,{ 'DE_MAC' :  /^AC/ }
           ,{ 'DE_MAC' : { '$in'   : [ "AC:23:3F:50:18:B6", "AC:23:3F:50:18:B7" ]}}
          ]
        }
      },
      { '$limit' : 5 },
      { '$project' : { '_id' : 0 } }
    ])

 

operator설명

$eq : (equals) 주어진 값과 일치하는 값
$gt  : (greater than) 주어진 값보다 큰 값
$gte : (greather than or equals) 주어진 값보다 크거나 같은 값
$lt : (less than) 주어진 값보다 작은 값
$lte : (less than or equals) 주어진 값보다 작거나 같은 값
$ne : (not equal) 주어진 값과 일치하지 않는 값
$in : 주어진 배열 안에 속하는 값
$nin : 주어빈 배열 안에 속하지 않는 값


## 조회 sort 
> db.COLLECTION_NAME.find().sort({"scannerTime":-1}) 

   1로 설정하면 오름차순, -1로 하면 내림차순

## 전체 document 삭제 
> db.COLLECTION_NAME.remove({}) 

 

## document 만들기
db.user.insert({"name" : "mike", "age" : 3})
db.user.insert({"name" : "alice", "age" : 13})
db.user.insert({"name" : "tom", "age" : 33})

 

## like 검색

db.users.insert({name: 'paulo'})

db.users.insert({name: 'patric'})

db.users.insert({name: 'pedro'})

 

db.users.find({name: /a/})  //like '%a%'

out: paulo, patric

 

db.users.find({name: /^pa/}) //like 'pa%' 

out: paulo, patric

 

db.users.find({name: /ro$/}) //like '%ro'

out: pedro

 

 

[참고]

https://velopert.com/479

http://stackoverflow.com/questions/3305561/how-to-query-mongodb-with-like

 

 

'Data Engineering > MongoDB' 카테고리의 다른 글

[MongoDB] Start/Stop  (0) 2020.09.14
[MongoDB] aggregate $lookup  (0) 2019.11.12
[MongoDB] 백업 및 복구  (0) 2019.11.05
[MongoDB] DB생성 관리  (0) 2019.11.05
[MongoDB] Index 생성  (0) 2019.11.04

+ Recent posts