我正在尝试使用函数保存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时,它正在保存“有趣”的功能。但是从mongo中检索时没有执行?
提前致谢。
答案 0 :(得分:1)
我没有解决运行该函数的问题,但我注意到代码中出现错误,getObject
应该看起来像
getObject = function(){
db.collection("objects").findOne(function(err, f) {
console.log(f);
// f.fun();
});
}
您可以将函数解压缩为字符串,如果确实需要,可以使用eval
来运行它吗?我不知道(我还没有找到)更好的答案。