2016-10-20 16 views
0

私は平均スタックで新しいです。更新、削除、データ取得を完了しましたが、mongooseにデータを挿入できません。mongooseを使用してデータを挿入することはできません

var express = require('express'); 
var mongojs = require('mongojs'); 
var db = require('mongoose'); 
var bodyParser = require('body-parser'); 

var app = express(); 
app.use(express.static(__dirname + "/public")); 
app.use(bodyParser.json()); 
db.connect('mongodb://localhost/contactlist'); 
var db1 = db.connection; 
db1.on('error', err); 
db1.once('open',startserver); 
function err(){ 
console.log('connection error:'); 
} 
function startserver(){ 
console.log('start'); 
app.listen(3000); 
} 
var contactdetails1 = new db.Schema({ 
    name:String, 
    email:String, 
    password:String, 
    number:String 
}); 
db1.model('Contactdetails',contactdetails1); 

app.post('/contactList',function(req,res){ 
    console.log("Get insert request"+req.body); 
//var contactList = new ContactList(req.body); 
    var contactdetails1 = new db.Schema({ 
    name:req.body.name, 
    email:req.body.email, 
    password:'', 
    number:req.body.number   
    }); 


    contactdetails1.save(function(err,data) { 
     if (err) { 
      response = { 
       "status":0, 
       "error":err, 
      }; 
     }else{ 
      response = { 
       "status":1, 
       "data":data, 
       "message":"User registered successfully" 
      }; 
     } 
     console.log(response); 
     res.json(response); 
    });  
}); 

エラーショーの下に、その時点でデータを挿入

未定義のタイプTestname であなたは、ネストスキーマを試してみましたか?参照や配列を使用してのみネストすることができます。 at Function.Schema.interpretAsType(/usr/lib/node_modules/mongoose/lib/schema.js:666:11) at Schema.path(/usr/lib/node_modules/mongoose/lib/schema.js:545: 29) at Schema.add(/usr/lib/node_modules/mongoose/lib/schema.js:429:12) at new schema(/usr/lib/node_modules/mongoose/lib/schema.js:100:10) ) /var/www/html/contactlistappmvc/server.js:53:25

答えて

0
var contactdetails1 = new db.Schema({ 
name:req.body.name, 
email:req.body.email, 
password:'', 
number:req.body.number   
}); 

であなたはモデルではなく、スキーマを保存する必要があります。ここで行ったことは、オブジェクトをスキーマに渡すことです。ドキュメントはスキーマではなくモデルのインスタンスです。スキーマは単なるオブジェクト定義です。代わりに、あなたはここで何をやったかの

、なぜあなたは

var ContactModel = mongoose.model('Contactdetails',contactdetails1); 


var contactModel = new ContactModel({ 
name:req.body.name, 
email:req.body.email, 
password:'', 
number:req.body.number 
}) 

を行い、その後、contactModel.save()

+0

私は、更新を読み、理解し、削除することはできません、DELETEALL操作が実行される実行しません上記のコードではなく、挿入型エラーの時に表示されます。 (新モデルでは、未定義の
   のプロパティ'モデル'を読み取ることができませんの/ usr:;: – sunil

+0

にReferenceError ' – sunil

+0

ContactModelが定義されていませんが
エラーが表示さ/ lib – nikjohn

関連する問題