<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=%EB%AA%BD%EA%B5%AC%EC%8A%A4</id>
	<title>몽구스 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=%EB%AA%BD%EA%B5%AC%EC%8A%A4"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=%EB%AA%BD%EA%B5%AC%EC%8A%A4&amp;action=history"/>
	<updated>2026-05-19T10:37:18Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=%EB%AA%BD%EA%B5%AC%EC%8A%A4&amp;diff=996&amp;oldid=prev</id>
		<title>Ahn9807: 새 문서: 분류:오픈소스 프로젝트  ==개요== 몽구스는 직관적이고 Schema가 중심이 되는 라이브러리로써, MongoDB를 자바스크립트와 연동시켜서, 확실하고 SQL같은 느낌으로 MongoDB를 사용할 수 있게 하는 라이브러리이다.   == 사용 방법 == === 패키지 설치 ===  npm install mongoose === 몽고DB에 연결 ===  var mongoose = require(&#039;mongoose&#039;);  mongoose.connect(&#039;mongodb://localhost/test&#039;, {useNewUrlParser: true})...</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=%EB%AA%BD%EA%B5%AC%EC%8A%A4&amp;diff=996&amp;oldid=prev"/>
		<updated>2023-03-24T11:56:04Z</updated>

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