모바일/Hybrid

express 몽고DB와 연결시 store이름 및 collection이름 주의점

늘근이 2015. 8. 1. 21:10

몽고DB는 테이블이 collections이다. 보통 네이밍을, 몽구스에서는 shop이라고 되어있어서

var ShopSchema = mongoose.Schema({name:String, desc:String});

var Shop = mongoose.model('shop',ShopSchema)

위와 같이 생성하게 될텐데, 정작 mongoose.model() 메서드가 내부적으로 만들어내는것은 소문자로 변환시켜버리고 뒤에 s를 붙인 복수형태이다.

위와같으면 shops로 만들어서 해당 collection 에서 찾아오려고 할것이다.


설정할때는 DB이름도 중요하다. 몽고DB에서 use DB 로 해당 데이터베이스를 사용하게 되는데, 이때

mongoose.connect('mongodb://localhost/myapp');

위와같은 메서드로 설정을 해주게 된다.


즉, 모델은 단수 콜렉션은 복수로 자동으로 설정해주고 있다.