2011-06-12 24 views
0
var cradle = require('cradle'); 
var db = new(cradle.Connection)().database('starwars'); 

db.get('vader', function (err, doc) { 
    doc.name; 
    assert.equal(doc.force, 'dark'); 
}); 

db.save('skywalker', { 
    force: 'light', 
    name: 'Luke Skywalker' 
}, function (err, res) { 
    if (err) { 
     // Handle error 
    } else { 
     // Handle success 
    } 
}); 

通过NPM安装托架的NodeJS:安装托架5.5但例如用错误崩溃

npm install cradle

误差输出行驶node cradle.js

[email protected]:~# node cradle.js 

/root/cradle.js:5 
    doc.name; 
    ^
TypeError: Cannot read property 'name' of undefined 
    at Object.callback (/root/cradle.js:5:8) 
    at /root/node_modules/cradle/lib/cradle.js:276:26 
    at IncomingMessage.<anonymous> (/root/node_modules/cradle/lib/cradle.js:210:21) 
    at IncomingMessage.emit (events.js:81:20) 
    at HTTPParser.onMessageComplete (http.js:133:23) 
    at Socket.ondata (http.js:1213:22) 
    at Socket._onReadable (net.js:681:27) 
    at IOWatcher.onReadable [as callback] (net.js:177:10) 

UPDATE:问题归结为

db.get('vader', function (err, doc) { 
     doc.name; 
     assert.equal(doc.force, 'dark'); 
    }); 

它在抱怨doc.name

我在哪里可以查看数据库这样我就可以看到添加新行?

回答

1
db.get('vader', function (err, doc) { 
    if (err) { 
     console.log(err); 
    } else { 
     doc.name; 
     assert.equal(doc.force, 'dark'); 
    } 
}); 

该示例不会执行错误处理。我会假设错误是文件vader不存在或数据库starwars不存在。

如果您已经安装并运行沙发则数据库住在http://localhost:5984/_utils/

+0

我已经更新的问题。 – KJW 2011-06-12 17:55:57

+0

@KimJongWoo更新了答案。你确实安装了沙发吗? ;) – Raynos 2011-06-12 18:00:18

+0

是的,但我不知道它是否在运行或它正在运行。我正在使用ubuntu 9 – KJW 2011-06-12 18:06:52