1
嘿,我只是學習CoffeeScript和我不斷收到錯誤。這裏是我的代碼:另一個CoffeeScript錯誤
Db = require('./lib/mongodb').Db
ObjectID = require('./lib/mongodb').ObjectID
Server = require('./lib/mongodb').Server
class UserDataProvider
constructor = (host,port)->
this.db = new Db('test' , new Server(host ,port,{}))
getCollection = (callback) ->
this.db.collection 'data',(error,data)->
if error then callback(error)
else callback(data)
findAll = (callback) ->
this.getCollection (error,data)->
if error then callback error
else
data.find (error, cursor) ->
if error then callback error
else
cursor.toArray (error, results)->
if error then callback error
else callback(null,results)
findById = (id,callback)->
this.getCollection (error, data)->
if error then callback error
else
data.findOne { _id: id} , (error, result)->
if error then callback error
else callback(null, result)
save = (data, callback)->
this.getCollection (error, collection)->
if error then callback error
else
if typeof(data.length) is "undefined"
then data = [data]
collection.insert data()->
callback null, data
exports.UserDataProvider = UserDataProvider
當我嘗試使用 userdataprovider.save(?? BLAH BLAH BLAH?)//我已經實例化它。
我得到這個錯誤:
TypeError: Object #<UserDataProvider> has no method 'save'
at Object.<anonymous> (/home/akshay/dev/statServer/app.js:8:15)
at param (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:146:21)
at param (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:157:15)
at pass (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:162:10)
at Object.router [as handle] (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:168:6)
at next (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/index.js:218:15)
at Object.handle (/usr/local/lib/node/.npm/express/1.0.7/package/lib/express/server.js:65:5)
at next (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/index.js:218:15)
at Server.handle (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/index.js:231:3)
at Server.emit (events.js:45:17)
如果它的事項,我使用Expressjs並用的NodeJS本地的MongoDB驅動
太棒了,我不知道。我無法在文檔中找到它。非常感謝。文檔是否落後於代碼? – akshaykarthik 2011-02-26 03:34:02
是的,文檔中的所有示例都使用':';整個「班級機構立即運行」的事情是相當新的(1.0之前不久推出)。它並沒有過時,但是在簡要概述和涵蓋所有內容之間有一個平衡點,你知道嗎?我發現「可執行類體」是[FAQ](https://github.com/jashkenas/coffee-script/wiki/FAQ)上的TODO。 – 2011-02-26 03:44:13