2013-04-18 2 views
0

함수를 사용하여 javascript 객체를 저장하려고하지만 오류가 있습니다.mongodb의 함수를 사용하여 javascript 객체를 저장하십시오.

var mongo = require('mongodb'); 
createObject = function(){ 
var data = {_id:1,"name":"object", 
    "fun":new mongo.Code("function fun() {print(1)}")}; 
    db.collection("objects").insert(data,function(err,result){ 
    console.log(err); 
    console.log(result); 
    }); 
} 

getObject = function(){ 
var f = db.collection("objects").findOne(); 
f.fun(); 
} 

그리고 오류 :

throw err; 
     ^
TypeError: Object #<Object> has no method 'fun' 

내가 MongoDB를, 그것은 절약 체크 "재미"기능 여기에 코드입니다. 그러나 몽고에서 가져올 때 실행되지 않습니까? 사전에

감사합니다.

+0

나는이 [링크] (http://stackoverflow.com/questions/10211076/how-can-i-save-a-stored-javascript-into-mongodb-from-node-js)도 시도했지만 didn '도움을 – codejammer

+0

난 그냥 mongodb 껍질에서 그것을 실행하려고 노력하고 .. – lopisan

+0

@ lopisan 그래,이 mongo 껍질에서 일하고 있지만 node.js 및 해당 작동하지 않는 것을 시도하고있다 – codejammer

답변

1

내가 기능을 실행하는 문제를 해결하지 않은,하지만 난 코드에서 오류를 발견했습니다, getObject 당신은 문자열로 기능을 추출하고 어쩌면에 eval을 사용할 수 있습니다

getObject = function(){ 
db.collection("objects").findOne(function(err, f) { 
    console.log(f); 
    // f.fun(); 
}); 
} 

과 같아야합니다 당신이 정말로 그것을 필요로한다면 그것을 실행하십시오? 나는 더 나은 대답을 알지 못한다.

+0

'eval ' 실제로 문제를 해결했습니다. 많이 감사합니다. @ Lopisan – codejammer

관련 문제