일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Dependency
- html cell size
- table cell size
- DI
- Spring
- Django 특정 값 가져오기
- table tag
- html cell
- Django column 값 가져오기
- Dependency Injection
- html
- Django
- Today
- Total
emluy 개발 일기
express.js - mongoDB 연결 후 DB, Collection(table), Document(data) 다루기, 관련 shell 명령어 본문
express.js - mongoDB 연결 후 DB, Collection(table), Document(data) 다루기, 관련 shell 명령어
yulme 2020. 8. 3. 15:17
0. mongodb서버 실행시키기
$ mongo
https://yulme.tistory.com/79?category=791295
* visual studio 에 있는 파일들에 직접 코드를 넣어서 DB, Collection, Document 다루기
1. DB
1-1. app.js에서 선언
:app.js에서 mongoose.connect함수 안에 적어준 이름 사용
ex)16 번째줄에 mongoose.connect('mongodb://localhost:27017/mydb') -> 여기서 mydb가 db이름
#app.js
1-1-1. cmd에서 app.js실행해줌
:$node app.js
**이때 매우매우 중요한사실!!!!!!!!!!!!
: document가 하나도 없으면 show dbs해도 내가 생성해준 db안뜬다!! 연결 안된줄알고 계속 헤매지 말것
1-1-2. 다른 cmd창 하나 더 열어서 mongo server 실행 해줌
>use mydb
2. Collection
2-1. app.js에 만들어 주기
#app.js에서 생성한 Schema 이름
2-2. 만들고 난 후 만들어진 Collection들 확인하기
>db.getCollectionNames()
**확인 결과, 내가 생선한 Schema이름과 다르다! 나는 app.js에 User라고 생성했는데 확인해보니 users라고 되어있음
-> django admin도 그러던데 왜 그런것일까..? 자동으로 이름을 복수처리해서 바꿔서 생성해주는거같은데 와이..?
: 이유없다. 그냥 생성될때 자동으로 복수형태로 생성된다고 한다.
3. Document
3-1. app.js에서 해주기 (Collection 관련 명령어 부분 2-1과 연결됨)
$node app.js
**다른 cmd창에서
>use mydb
>db.users.find()
** node app.js 새로 실행해줄 때마다 똑같은 값이 계속 추가된다!! 주의할것.
* mongoDB shell에서 DB, Collection, Document 다루기
1. DB
1-1.
아직 안만들어진 db를 만들고 싶을 때 따로 만들어주는 함수는 없음, 사용하겠다와 만들고 사용하겠다 두 개 명령어가 같음! -> 없으면 생성해주고 있으면 쓰게 해주는 명령어임!
> use database이름
1-2. 현재 사용중인 db이름 확인하기
>db
1-3. 서버에 존재하는 모든 db 확인하기
>show dbs
1-4. db삭제하기
>use 삭제할db명
>db.dropDatabase()
2. Collection
1-1. document 설정 안해주고 그냥 collection 생성하기만 함
>use db이름
>db.createCollection("하고싶은collection이름")
2-2. collection 속성들 옵션 지정해주면서 생성 (document속성이 아님!)
*collection 속성 목록
ex) articles라는 collection 생성할 때, 이 collection에 capped, size, max 라는 옵션을 정해줌
>use db이름
>db.createCollection("articles", {
capped : true,
size : 61428000,
max : 10000
})
2-3. document insert로 자동 collection 생성하기
ex) people이라는 collection은 아직 없음. 만들어줄 것임. 근데 createCollection으로 말고 document를 insert해줘서 자동으로 people이 생겨나게 할 것임,
people이라는 collection이 이미 있다하면 있는 곳에 데이터를 넣어주게 되는 것임!
>db.people.insert({name:"yurim"})
3. Document
3-1. collection에 들어있는 document들 모두 확인하기
>db.collection이름.find()
3-1-1. 좀 예쁘게 엔터 먹은 상태로 확인할 수 있는 법
>db.collection이름.find().pretty()
3-1-2. 조건으로 하나의 document 보기
>db.collection이름.find({"속성명" : "값"})
3-1-2-1. 조건에 연산자 사용
ex) 속성값 age가 20보다 작은 document 보여줘 >db.collection이름.find({"age" : $lte:20})
3-2. document 추가하기
>db.collection이름.insert({속성명:"값"})
3-3. document 삭제하기
3-3-1. 전부 삭제
>db.collection이름.remove({})
3-3-2. 조건으로 삭제
>db.collection이름.remove({속성명:"값"})
*브라우저에서 data확인하기
* 참고 블로그
: 각종 mongodb관련 shell 명령어들 (db,table,data CRUD)
https://pro-self-studier.tistory.com/58?category=663470
* 각종 shell 명령어들 + 연산자 사용 예제
'웹 개발 > express.js' 카테고리의 다른 글
express.js #2 - (중요!) MVC패턴 갖추기 (회원가입구현) (0) | 2020.08.06 |
---|---|
expressjs - module.experts 와 experts. 의 차이 (0) | 2020.08.04 |
express.js #1 - MongoDB 연결하기 (0) | 2020.07.31 |
express.js #0 - css 연결 (0) | 2020.07.31 |
Express.js - 라우팅 (0) | 2020.07.30 |