## 전체 조회
> 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
[참고]
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 |