用Node.js在mongodb中存储JS函数的问题
Problems storing JS functions in Mongo DB with Node.js
我有一个简单的JS类:
var User = function(id){
this._id = id;
this.sayHello = function (){
return "hello";
}
}
然后使用默认的Node.js驱动程序将其存储在MongoDB中:
users.insert(new User(1));
最后,检索用户,并尝试执行函数:
users.findOne({_id:1}, function(err, item) {
console.log("Say hello: " + item.sayHello());
});
我收到以下错误,这真的很令人困惑:
throw err;
^
TypeError: Object #<Object> has no method 'sayHello'
我完全搞不懂这个。我的理解是MongoDB按原样存储JS函数和属性。如果不是这样,你能建议我如何解决这个问题吗?
谢谢!
Mongo不能存储函数(代码),只能存储数据。获取返回的原始数据并将其传递给构造函数,或者考虑像mongoose这样的ODM。
有一组非常具体和有限的条件,其中您可以以字符串形式发送mongo函数代码,并在服务器上对其进行评估。这些都记录在MongoDB手册中。然而,在mongo内部运行的代码的目的是支持复杂的数据查询操作,而不是为应用程序逻辑建模,而这正是这个问题所要问的。应用程序逻辑在node.js模块.js
文件中。数据进入数据库
相关文章:
- 当js函数's已执行
- 调用php数组中的JS函数
- 为JS函数添加延迟
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 使用JS函数来使用另一个函数的语法?node.js
- 将JS函数传递给Emscripten生成的代码
- 是否可以在使用headerphp函数后自动调用JS函数
- 如何在.js函数中检索来自其他模板的表单的目标值
- 简单的JS函数.需要对变量进行澄清
- 无法识别从php创建的Js函数
- 如何将对象传递给这个js函数
- 全局窗口热键在最小化chrome窗口时调用js函数
- 将重定向URL链接添加到JS函数
- 从PHP调用JS函数不起作用
- js函数堆栈传入变量,.hide()不起作用
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如何让JS函数自行执行
- 使用默认js函数的javascript中的日期的第二天
- 如何从页面中的jquery调用angular js函数控制器
- 从.js文件调用html中的js函数