MongoDB를 검색할 때 RDB의 SQL의 WHERE 조건처럼 비슷한 기능을 제공하고 있어서 사용해 보았다.
아래 블로그를 많이 참조하였다.
[기본] MongoDB find query(몽고DB 검색)
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({}) | select * from collection |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({target : 'A'}) | select * from collection where target = 'A' |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({target : {$in : ['A', 'B']}}) | select * from collection where target in ('A', 'B') |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({target : 'A', name : 'B'}) | select * from collection where target = 'A' and name = 'B' |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({$or : [ {target : 'A'}, {name : 'B'} ] }) | select * from collection where target = 'A' or name = 'B' |
구분 | 몽고DB | 관계형 |
---|---|---|
db.컬렉션.find({$or : [ {target : 'A', name : 'BB'}, number : 3 ] }) | select * from collection where (target = 'A' and name = 'BB') or number = 3 | |
내용 | db.컬렉션.find({number : 3, $or : [ {target : 'A', name : 'BB'} ] }) | select * from collection where number = 3 and (target = 'A' and name = 'BB') |
db.컬렉션.find({number : 3, $or : [ {target : 'A'}, {name : 'BB'} ] }) | select * from collection where number = 3 and (target = 'A' or name = 'BB') |
구분 | 몽고DB | 관계형 |
---|---|---|
큰 | db.컬렉션.find({number : {$gt : 10}}) | select * from collection where number < 10 |
크거나 같은 | db.컬렉션.find({number : {$gte : 10}}) | select * from collection where number <= 10 |
작은 | db.컬렉션.find({number : {$lt : 10}}) | select * from collection where number > 10 |
작거나 같은 | db.컬렉션.find({number : {$lte : 10}}) | select * from collection where number >= 10 |
(배열) 같은 | db.컬렉션.find({이름 : {$size : 10}}) | select * from collection where array.size = 10 |
(배열) 매치 | db.컬렉션.find({'이름.10' : {$exists : true}}) | select * from collection where array.size = 10 |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({text : {$regex : 'abcd'} }) | select * from collection where text like '%abcd%' |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({text : {$ne : 'abc'} }) | select * from collection where text != 'abc' |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({$nor: [ {name: 'abcd'}, {num: 7} ]}) | select * from collection where name != 'abcd' and num != 7 |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({text : {$exists : true} }) | SELECT * FROM information_schema.COLUMNS where COLUMN_NAME = 'text' |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({text : null }) | select * from collection where text is null |
구분 | 몽고DB | 관계형 |
---|---|---|
내용 | db.컬렉션.find({ level : "A" }, { name: 1, num: 1 } ) | select _id, name, num from collection where level = 'A' |