Node Express Mongoose 조회가 되지 않을 때
Ubuntu Server 에 Node 를 설치하고 Express 를 사용하여 서비스를 할 예정이다.
데이터베이스는 MongoDB 로 구성되어 있다.
Mongoose 를 이용하여 서비스를 구성하려고 하는데 매뉴얼 대로 해도 조회가 되지 않는다.
매뉴얼이 자세하지 않는거 같다.
많은 검색 후에 컬렉션을 설정해야 한다고 하여 했더니 조회가 되었다.
var mongoose = require('mongoose');
var db = mongoose.connection;
db.on('error', console.error);
db.once('open', function() {
console.log('Connected to mongo server');
});
mongoose.connect('mongodb://user:password@host:port/dbname', { useNewUrlParser: true, useUnifiedTopology: true });
var Schema = mongoose.Schema;
var cannonBeeSchema = new Schema({
_id: Schema.Types.ObjectId,
version: String,
os: String,
locale: String,
uuid: String,
count: String
});
cannonBeeSchema.set('collection', 'cannonBee');
var cannonBee = mongoose.model('cannonBee', cannonBeeSchema);
cannonBee.findOne({}, function(err, data) {
if (err) return console.error(err);
console.log(data);
});
여기 소스가 있다.
매뉴얼에는 없는 컬렉션 설정 하는 부분은 바로 이부분이다.
cannonBeeSchema.set('collection', 'cannonBee');
그리고 연결하는 부분에서도 매뉴얼대로 되지 않아서 애를 먹었었다.
MongoDB Compass 는 잘 되는데 코드에서는 되지 않아서
결국 해당 데이터베이스에 접속하여 새로운 사용자를 하나 만들었다.
될 수 있으면 각 데이터베이스 마다 접속권한을 별도로 설정하고 사용자를 만들어서 사용자하.
댓글
댓글 쓰기