Icon_MongoDB_by_xkneo

몽고디비 “stored function” 퀵하게 보기

스토어드 프로시져를 보기!  json의 특성을 조금 알면 아주 잘됨.

/*저장*/
db.system.js.save({_id:"addNumbers", value:function(x, y){ return x + y; }});

/*호출*/
1. 안추천 하고 싶은 방법
db.eval('addNumbers(17, 25)')

2. 추천 하는 방법
db.system.js.find({_id:"addNumbers"}).value(3,4)
이렇게 호출하면 쵝오 잘됨

역시 mongodb 는 json 을 착실히 저장함.
그렇다면 당연히 함수도? Yes!

그럼 테스트~! (a,b 바꿔가면서 insert 서너번 해주면 눈에 잘띔)

db.test.insert({
a : 1
,b : 2
,addAll : function(){ return (this.a + this.b); }
,queryTest : function() { return db.test.find(); }
});

1. db.test.findOne().addAll()    /*현재 doc의 속성들을 접근 해서 결과를 리턴*/
2. db.test.findOne().queryTest() /*프로시저를 doc에 내맘대로 저장됨*/

자세히 들여다 보면 addAll 이란 code type 의 속성을 가진 필드가 저장이됨.

  • Facebook
  • Google Plus
  • Twitter
  • LinkedIn
  • Pinterest
  • Tumblr
  • Instapaper
  • Delicious