>  기사  >  웹 프론트엔드  >  MongoDB_node.js를 작동하기 위해 Node.js와 함께 Mongoose를 설치하고 사용하는 방법에 대한 기본 튜토리얼

MongoDB_node.js를 작동하기 위해 Node.js와 함께 Mongoose를 설치하고 사용하는 방법에 대한 기본 튜토리얼

WBOY
WBOY원래의
2016-05-16 15:12:461606검색

몽구스 설치

Express를 사용하여 TestMongoDB 프로젝트를 준비합니다. 명령 순서는 다음과 같습니다.

express TestMongoDB
cd TestMongoDB
npm install

위 명령을 실행한 후 다음 명령을 사용하여 mongoose를 설치합니다.

npm install mongoose --save

이 명령은 mongoose를 설치하고 이를 프로젝트의 종속성으로 사용하며, mongoose가 의존하는 MongoDB 드라이버 및 regexp 모듈도 자동으로 설치됩니다.

mongoose를 사용하면 새 데이터베이스를 만들고, 새 컬렉션을 만들고, 컬렉션의 문서에 대해 CRUD 작업을 수행할 수 있습니다. 코드를 작성할 때 결과가 mongo 셸에 대한 기대치를 충족하는지 확인할 수 있습니다.

TestMongoDB 아래에 다음 내용으로 새 mongo.js 파일을 만듭니다.

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/accounts');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
 console.log('mongoose opened!');
 var userSchema = new mongoose.Schema({
   name:{type: String, unique: true}, 
   password:String
  }, 
  {collection: "accounts"}
  );
 var User = mongoose.model('accounts', userSchema);

 User.findOne({name:"WangEr"}, function(err, doc){
  if(err) console.log(err);
  else console.log(doc.name + ", password - " + doc.password);
 });

 var lisi = new User({name:"LiSi", password:"123456"});
 lisi.save(function(err, doc){
  if(err)console.log(err);
  else console.log(doc.name + ' saved');
 }); 
});

위 파일에 대해 "node mongo.js" 명령을 직접 실행하여 효과를 확인해 보세요.

몽구스를 사용하려면 먼저 require를 한 후 connect 메소드를 사용하여 데이터베이스에 연결합니다. 프로토타입 연결:

connect(uri, options, [callback])

uri 형식은 "mongodb://user:pass@localhost:port/database"와 유사합니다.

Mongoose의 연결 개체는 연결됨, 열기, 닫기, 오류 등과 같은 일부 이벤트를 정의합니다. 이러한 이벤트를 모니터링할 수 있습니다.

샘플 코드에서는 open 이벤트를 듣고 콜백 함수에 Schema를 정의한 후 mongoose.model을 호출하여 Schema를 컴파일하고 Model 개체를 가져왔습니다. 스키마를 정의할 때 지정하는 컬렉션 이름은 mongoose.model의 첫 번째 매개변수와 일치해야 합니다.

Model 객체를 가져온 후 추가, 삭제, 수정, 쿼리 등의 작업을 수행할 수 있습니다. Model 개체에는 mongo 셸에서 사용하는 방법과 유사한 find(), findOne(), update() 및 제거()와 같은 메서드가 있습니다. 이러한 메서드에는 선택적 콜백이 있습니다. 이러한 콜백을 제공하면 실행 결과가 이 콜백을 통해 반환됩니다. 이를 제공하지 않으면 이러한 메소드는 Query를 통해 새 옵션을 조합한 다음 Query의 exec(콜백)을 호출하여 쿼리를 제출할 수 있습니다.

코드에서 WangEr의 파일을 검색할 때 Query 대신 콜백을 사용했습니다.

Model 객체에는 문서를 구성하는 데 사용되는 Model(doc) 메서드가 있습니다. Lisi 문서를 생성할 때 이 Document 개체의 save() 메서드를 사용하면 문서를 데이터베이스에 저장할 수 있습니다.
몽구스를 통한 기본 작업:
1을 추가했습니다

var obj = new Movie();
obj.title = '标题一';
obj.content = '内容';
obj.save(function(err) {
  
});

2. 삭제

Movie.remove({
  _id:id
},function (err) {
  
})


3. 변화

Movie.update({
  _id:id
},json,{},function (err) {
  
})


4. 확인

Movie.findOne({
  _id: id
}, function(err, obj) {
 
});
Movie.find({}).sort({_id: -1}).limit(3).exec(function(err, obj) {
 
})

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.