백엔드

mongoDB에서 []빈 배열로 나올때, test database가 자동으로 생길때

킹king 2022. 6. 29. 13:43
반응형

분명히 예전에 공부할때는 이런 문제가 없었는데, 이상하게 아무리 find를 해도 데이터베이스에 넣어둔 샘플이 조회가 안되었음. 계속 [] 이렇게 빈배열로만 나옴.. 한참 삽질하다가 뒤늦게 몽고db 홈페이지를 가서 보니 원래 만들어둔거 말고 test라는게 새로 생겨있는데다가 왠지 여기를 바라보는거같아서 검색해봄. 알고보니 코드에서 db이름, collection이름을 따로 지정해줘야하더라.

 

1. url 설정

mongodb+srv://아이디:패스워드@어쩌구저쩌구.mongodb.net/여기?retryWrites=true&w=majority

위와 같은 db url을 쓸텐데 "여기"라고 써진 부분에 본인이 바라볼 db이름을 추가로 넣어주면 됨. 나같은 경우 asm 을 넣어줘야하는것임.

 

 

 

2. schema 설정

module.exports = mongoose.model('users', userSchema);

mongoose는 스키마를 따로 설정해줘야해서 다들 설정해줄텐데, 마지막에 export할때 modal다음에 첫번째 인자를 collection이름으로 써주면됨. 나같은 경우 users라고 만들었으니 users.

 

 

 

https://stackoverflow.com/questions/61302342/mongodb-sets-my-database-to-test-automatically-how-to-change-it

 

MongoDB sets my database to 'test' automatically. How to change it?

mongoose.connect(process.env.DATABASE_URL, {useNewUrlParser: true}); const MyModel = mongoose.model(mymodel, new Schema({ name: String })); This creates a database named 'test' and a collection na...

stackoverflow.com