mongodb 기본

2023. 11. 3. 11:38웹개발

3T를 쓰는 경우 타겟컬렉션(앞부분)을 지정해야하지만 컴패스를 이용하면 컬리괄호부분만 쓰면 된다.

 

INSERT

# 1개 입력

db.collection.save({_id: 1, foo: 'bar'})

# 2이상 입력

db.collection.insertMany({field1: 'value1', field2: 'value2'})

 

SELECT

# (모든)갯수 확인하기

db.getCollection('collection1').find({}).count()

# 제일 처음값 가져오기

db.collection.findOne()

# 모든 내용 보기

db.getCollection('collection1').find({})

# 옵션에 맞는 값 가져오기

## 옵션 1개

### 특정값이 정확한 경우

db.getCollection('collection1').find({foo: 'bar'})

### 특정값을 포함하는 경우(해당 값 하나에서 쪼개어 볼때 있는 경우)

db.getCollection('collection1').find({foo: {$regex: 'ar' }})

db.getCollection('collection1').find({foo: /ar/})

### 특정값을 포함하는 경우(리스트안에 온전한 그 값이 있는경우)

db.getCollection('collection1').find({foo: {$in: ['value1', 'value2']}})

> 오퍼레이터는 $nin, $lt, $gt, $and, $or, $exists 등 더 있다.

 

UPDATE

# 1개 수정

db.collection.updateOne({field1: 'value1'}, {$set:{ field1: 'value11'} })

# 다수 수정

db.collection.updateMany({field1: 'value1'}, {$set:{ field1: 'value11'} } )

> 전체를 다 수정하려면 앞의 컬리브라켓을 공백으로 두면 된다.

 

DELETE

# 1개 삭제

db.collection.deleteOne( field1: 'value1')

# 다수 삭제

db.collection.deleteMany({field1: 'value1'})

 

 

>> 타게팅할때 네스티드오브젝트인 경우 dot으로 연결하면 된다.

     ex) data.address.seoul ~~

728x90