문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류:오픈소스 프로젝트]] ==개요== 몽구스는 직관적이고 Schema가 중심이 되는 라이브러리로써, MongoDB를 자바스크립트와 연동시켜서, 확실하고 [[SQL]]같은 느낌으로 MongoDB를 사용할 수 있게 하는 라이브러리이다. == 사용 방법 == === 패키지 설치 === npm install mongoose === 몽고DB에 연결 === var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true}); 혹은 여러가지 설정할 것이 있으면 mongoose.connect('mongodb://username:password@host:port/database?options...'); 몽고 디비가 연결된후 실행할 항목은 var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { // we're connected! }); === 스키마의 설정 === 몽구스는 스키마(Schema)란 정의된 모델에서 데이터의 쿼리를 담당한다 이는 noSQL인 몽고DB의 한계를 보완하는 역활을 한다. var blogSchema = new Schema({ title: String, // String is shorthand for {type: String} author: String, body: String, comments: [{ body: String, date: Date }], date: { type: Date, default: Date.now }, hidden: Boolean, meta: { votes: Number, favs: Number }, array: [Number] }); 몽구스의 스키마는 다음과 같이 주어진다. String, Number, Date, Buffer, Boolean, Mixed, ObjectID, Array, Decimal128, Map. === 모델의 설정 === 모델은 스키마를 객체화 한 것으로, 도큐먼트라 불리는 레벨에서 몽고DB를 조정한다. var Tank = mongoose.model('Tank', schema); 라 하면, 몽구스는 자동으로 복수형이고, 모두 lowercased된 컬렉션이 DB에 존재하는지 확인하고 있으면 그 컬렉션을 model에 연결하며 없으면 컬렉션을 새로 DB에 생성한다. 만약 컬렉션 이름을 내가 원하는 대로 만들고 싶으면 다음과 같이 해주어야 한다. var dataSchema = new Schema({..}, { collection: 'COLLECTION_NAME' }) 모델을 만들면 var Tank = mongoose.model('Tank', yourSchema); var small = new Tank({ size: 'small' }); small.save(function (err) { if (err) return handleError(err); // saved! }); // or Tank.create({ size: 'small' }, function (err, small) { if (err) return handleError(err); // saved! }); // or, for inserting large batches of documents Tank.insertMany([{ size: 'small' }], function(err) { }); 이와 같이 정보를 저장할 수 있다. === [[CRUD]] === ==== Create ==== #[https://mongoosejs.com/docs/api.html#model_Model-save save] #[https://mongoosejs.com/docs/api.html#model_Model.create create] #[https://mongoosejs.com/docs/api.html#model_Model.insertMany insertMany] ==== Retrieve ==== #[https://mongoosejs.com/docs/api.html#model_Model.find find] #[https://mongoosejs.com/docs/api.html#model_Model.findById findById] #[https://mongoosejs.com/docs/api.html#model_Model.findOne findOne] #[https://mongoosejs.com/docs/api.html#model_Model.where where] ==== Update ==== #[https://mongoosejs.com/docs/api.html#model_Model.update update] ==== Delete ==== #[https://mongoosejs.com/docs/api.html#model_Model.deleteOne deleteOne] #[https://mongoosejs.com/docs/api.html#model_Model.deleteMany deleteMany] 몽구스 문서로 돌아갑니다.