2016-11-29 64 views
0

我有一個節點的js程序,我想通過我的API插入一個新的文檔的集合:插入文檔蒙戈DB導致錯誤

router.post('/add', function(req, res) { 

    var apple = { 
     name: req.body.name, 
     ip: req.body.ip 
    } 

    serverSchema.insert(apple, function(err, result) { 
     if (err) { 
     console.log(err); 
     } else { 
     console.log('added'); 
     } 
    }); 
}); 

的模式是這樣的:

var serverSchema = new mongoose.Schema({ 
    // unique + required do not allow duplicates in the dbs 
    name: { 
    type: String, 
    unique: true, 
    required: true 
    }, 
    ip: { 
    type: String, 
    unique: true, 
    required: true 
    } 
}); 

module.exports = mongoose.model('serverSchema', serverSchema); 

然而,當我嘗試添加這個項目我拋出了以下錯誤:

TypeError: Object function model(doc, fields, skipId) { 
    if (!(this instanceof model)) { 
     return new model(doc, fields, skipId); 
    } 
    Model.call(this, doc, fields, skipId); 
    } has no method 'insert' 

知道爲什麼這是HAP pening?

*星展銀行連接開放

感謝

回答

0

看起來你正在使用serverSchema不正確。 mongoose.schema沒有insert方法。

架構文件看起來是這樣的:

var mongoose = require("mongoose"); 

var db = mongoose.connect('mongodb://000.0.0.1/test'); 

var serverSchema = new mongoose.Schema({ 
    name: { 
    type: String, 
    unique: true, 
    required: true 
    }, 
    ip: { 
    type: String, 
    unique: true, 
    required: true 
    } 
}); 

module.exports = db.model('server', serverSchema) 

API文件看起來是這樣的:

router.post('/add', function(req, res) { 

    //require mongoose model defines in model/serverSchema.js 
    var aServer = require("./model/serverSchema"); 

    var apple = new aServer({name: "Honeycrisp", ip: "red"}); 

    post.save(function(err) { 
     if (err) { 
     return err; 
     } else { 
     console.log('added'); 
     } 
    }); 
}); 
+0

所以我怎麼能插入一個文件? – noDe1

+0

我添加了一個編輯,查看它是否有幫助。 –