我正在使用cloud 9 ide开发nodejs app。我正在使用mongodb。
我已经创建了数据库并且连接成功。现在我要将记录添加到集合中作为belw
app.post('/ajax-mongo-connect', function (req, res) {
MongoClient.connect("mongodb://localhost:27017/sedd", function (err, db){
if(!err) {
console.log("Mongo Connected.");
db.test.insert({ item: "card", qty: 15 });
//console.log(drp);
res.send('connected');
} else {
console.log("Mongo not Connected");
res.send('error');
}
});
})
尝试将{ item: "card", qty: 15 }
插入测试集合时。错误发生如下
/home/ubuntu/workspace/node_modules/mongodb/lib/mongodb/mongo_client.js:475
throw err
^
TypeError: Cannot call method 'insert' of undefined
at /home/ubuntu/workspace/server.js:105:21
at _finishConnecting (/home/ubuntu/workspace/node_modules/mongodb/lib/mongodb/mongo_client.js:472:11)
at process._tickCallback (node.js:442:13)
无法调用未定义的方法'insert'
为什么我收到此错误。请帮忙
答案 0 :(得分:1)
我假设您正在使用基于您提供的代码段的MongoDB节点驱动程序。您需要定义db。我会举一个例子
替换
db.test.insert({ item: "card", qty: 15 });
类似
db.test('collectionName').insert({'key':'value'},callback(err,inserted){'error checking'})
希望这会有所帮助。
阅读本文了解更多详情(http://mongodb.github.io/node-mongodb-native/2.0/)