이미 만들어져있는 MongoDB
의 컬렉션을 Node.js
의 Schema, Model로 만들어야할때, 값을 가지고오지 못하는 이슈가 있어 정리하게 되었다.
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const bookSchema = new Schema({
delYn: {
type: String,
trim: true, // space를 없애주는 역할
},
info: {
type: Schema.Types.Mixed,
trim: true, // space를 없애주는 역할
},
isbn: {
type: String,
trim: true, // space를 없애주는 역할
},
regdt: {
type: Date,
trim: true, // space를 없애주는 역할
},
userid: {
type: String,
trim: true, // space를 없애주는 역할
},
usernm: {
type: String,
trim: true, // space를 없애주는 역할
},
delInfo: {
type: Schema.Types.Mixed,
trim: true, // space를 없애주는 역할
}
})
module.exports = mongoose.model('book', bookSchema);
기존에 내가 만든 Schema이다.
Books.find()
를 하면 값이 가져와지지 않아 찾아보다가 stackoverflow에 설명되어 있는것이 있어 남겨놓는다.
맨 마지막줄에 parameter를 하나 더 추가했다.
module.exports = mongoose.model('book', bookSchema, '{MongoDB컬렉션이름}');
실제 MongoDB
에 사용되는 컬렉션이름을 넣어주면 잘 인식해서 가져오는거 같다.