向Mongodb集合添加数据会产生错误

时间:2015-07-30 13:34:11

标签: node.js mongodb cloud9-ide

我正在使用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'

为什么我收到此错误。请帮忙

1 个答案:

答案 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/