LemonBlue
5/18/2015 - 3:47 AM

몽고 DB 명령어 From http://devdoc.tistory.com/5

몽고 DB 명령어 From http://devdoc.tistory.com/5

// 현재 Database를 확인하는 명령어는

db 

// 현재 Collection을 확인하는 방법은

db.콜렉션이름.find()  // ex) db.things.find()

var mongoose = require('mongoose');

// mongoose를 mongoDB가 설치되어있는 곳에 접속하는 구문. test라는 Database로 접속!

mongoose.connect('mongodb://localhost/test');



// 이쪽은 꼭 안해도 된다....

var Schema = mongoose.Schema;

var ObjectId = Schema.ObjectId;



// Collection을 생성하기 전에 Schema를 통해 구조를 만들어 놓는다.

var ThingSchema = new Schema({

  'name': String,

  'age': Number

});



// Thing이라는 Collection을 생성. 

var Thing = mongoose.model('thing', ThingSchema);



// 새로운 인스턴스를 생성하는 방법 + 데이터를 넣고 Insert하는 부분.

/*

var newThing = new Thing();

newThing.name = 'a';

newThing.save(function(err){

  // saving is asynchronous

  if(err) console.log("Something went wrong while saving the thing");

  else console.log("Thing was successfully saved");

});

*/



// 조건을 통해 Select 하는 방법 + 그 해당 Document에서 id라는 부분을 참조하는 방법

Thing.find({ name: 'c' }, function(err, docs){

	for(var i=0, size=docs.length; i<size; i++) {

		var name = docs[i]._id;

		console.log(name);

	}

// 이 부분은 Update문 사용하는 방법, 	

/* 	Thing.update({$inc: {name:'e'}}, { safe: true }, function(err) { console.log(err); }); */

});



// 이 부분은 조건을 통해 Select라는 방법은 똑같지만 1개의 Document만 필요로 할때 유용한 방법.

/*

Thing.findOne({ name: 'c' }, function(err,docs){

	console.log('deleting' + docs); //Remove all the documents that match!

	docs.remove();

	docs.save();

});

*/



// 위에 나왔던 Update는 같지만, multi 프로퍼티를 통해 해당하는 모든 Document를 바꿔주는 방법.

/*

Thing.update(

	{ name: 'c' },

	{ $set: { name : 'd' } },

// 	{ multi: true }, 

	function(err, res) {

		console.log(err, res);

	}

);

*/



// Delete 하는 방법. {} 안에는 조건도 가능함.

/*

Thing.remove({}, function(err) {

	if(!err) {

		console.log('no err');

	} else {

		console.log('err');

	}	

});

*/