Node.js 仿猫鼬方法
我想查看所有mongoose方法的调用方法日志,如下所示:Node.js 仿猫鼬方法,node.js,mongodb,coffeescript,mongoose,Node.js,Mongodb,Coffeescript,Mongoose,我想查看所有mongoose方法的调用方法日志,如下所示: # Load Book LoadBook = (id, cb) -> console.log 'loading book...' Book.findById id, (err, book) -> if err console.log err throw err console.log 'loaded book: ' + book.title cb book BookS
# Load Book
LoadBook = (id, cb) ->
console.log 'loading book...'
Book.findById id, (err, book) ->
if err
console.log err
throw err
console.log 'loaded book: ' + book.title
cb book
BookSchema.pre 'save', (next) ->
console.log 'loading ' + `model_name(don't know how to get it)` + ' ...'
next()
我想我可以这样定义post
和pre
方法:
# Load Book
LoadBook = (id, cb) ->
console.log 'loading book...'
Book.findById id, (err, book) ->
if err
console.log err
throw err
console.log 'loaded book: ' + book.title
cb book
BookSchema.pre 'save', (next) ->
console.log 'loading ' + `model_name(don't know how to get it)` + ' ...'
next()
其他方法也一样,比如findById
或remove
,但它很长。错误处理只有在我不使用回调的情况下才有效,但我每次都使用回调。我的意思是:
Part.on 'error', (err) ->
console.log "Got an error", err
我认为当有回调时它不起作用,是吗?
也许nodejs中有一些通用分析器?顺便说一下,我正在使用express。您可以使用模块来评测您的node.js应用程序。它基于,但在本地服务器上工作。您可以使用该模块评测node.js应用程序。它基于但在本地服务器上工作。您可以在Mongoose中通过调用:
mongoose.set('debug', true);
启用该选项后,您将获得通过Mongoose执行的每个MongoDB操作的日志条目。不确定这是否正是您想要的,但值得一试。您可以在Mongoose中拨打:
mongoose.set('debug', true);
启用该选项后,您将获得通过Mongoose执行的每个MongoDB操作的日志条目。不确定这是否正是您想要的,但值得一试。我想这不适合咖啡,请抛出一个错误。但nodetime可以工作,现在我知道了(我几天前安装了它,但找不到任何关于日志记录的信息)感谢您的错误报告。我会检查的。您正在尝试使用nodetime收集cpu配置文件吗?共有3个选项卡:请求|操作|错误,它仅向我显示
操作
,其中包含从服务器传输到客户端的模板、样式和js文件。可能是因为其他信息放在了其他文件中。我刚刚修复了look
中的coffescript支持,您可以再试一次。我认为,您需要使用Cpu分析器
,而不是事务
。谢谢,现在可以用了。请求parhap的问题是因为我在客户端使用angularJS。我猜它不适用于咖啡,抛出一个错误。但nodetime可以工作,现在我知道了(我几天前安装了它,但找不到任何关于日志记录的信息)感谢您的错误报告。我会检查的。您正在尝试使用nodetime收集cpu配置文件吗?共有3个选项卡:请求|操作|错误,它仅向我显示操作
,其中包含从服务器传输到客户端的模板、样式和js文件。可能是因为其他信息放在了其他文件中。我刚刚修复了look
中的coffescript支持,您可以再试一次。我认为,您需要使用Cpu分析器
,而不是事务
。谢谢,现在可以用了。请求parhaps的问题是因为我在客户端使用angularJS。太好了,谢谢!不知道我怎么会错过。太好了,谢谢!不知道我怎么会错过这个。