Node.js:模块不能识别Schema
Node.js: Module does not recognize Schema
在server.coffee
上我有:
User = mongoose.model 'User', s.UserSchema
addEntryToCustomer = require './lib/addEntryToCustomer'
在addEntryToCustomer.coffee
上我有:
module.exports = (phone,res,req) ->
User.find {account_id: phone.account_id }, (err, user) ->
我得到这个错误:
2011-11-14T19:51:44+00:00 app[web.1]: ReferenceError: User is not defined
在node.js中,模块在自己的上下文中运行。这意味着User
变量在addEntryToCustomer.coffee中不存在。
您可以使User
全局(小心使用它):
global.User = mongoose.model 'User'
将user变量传递给模块:
module.exports = (User, phone, res, req) ->
User.find {account_id: phone.account_id }, (err, user) -> …
或者重新加载模型:
mongoose = require 'mongoose'
module.exports = (phone,res,req) ->
User = mongoose.model 'User'
User.find {account_id: phone.account_id }, (err, user) ->
也可以向模型本身添加方法,不过您需要在定义Schema时这样做:http://mongoosejs.com/docs/methods-statics.html
相关文章:
- 如何识别我的网站中的慢速设备
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- AngularJS指令只识别双向绑定类型
- php脚本中无法识别ajax传递的值
- 识别没有ID或特定属性的对象
- JavaScript无法识别图像
- 识别由不同数量的项组成的json对象
- 无法识别从php创建的Js函数
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 函数无法识别初始化的变量
- 具有带大括号的字符串时无法识别的表达式
- 在Fiddler JavaScript中识别POST请求
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]
- javascript正则表达式来识别所有特殊字符
- 确定(识别)dc.js图表类型
- Ionic应用程序无法识别android手机中的语音
- node.js可以识别字符模式,但不能识别数字模式
- Javascript RegEx to XML Schema RegEx
- 数据切换=“;按钮”;在JavaScript中无法识别引导程序单选按钮
- Node.js:模块不能识别Schema