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 는 잘 되는데 코드에서는 되지 않아서

결국 해당 데이터베이스에 접속하여 새로운 사용자를 하나 만들었다.

될 수 있으면 각 데이터베이스 마다 접속권한을 별도로 설정하고 사용자를 만들어서 사용자하.

댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

VCC 와 GND 는 무엇일까?