2014-10-12 87 views
0

我的REST API發佈空對象。在node.js上使用app.post和AngularJS + mongoose的空對象

我從req.body.name

所獲得的價值。如果我登錄它的console.log(req.body.name);我得到我的控制檯上的價值。

POST: 
{ name: 'typing any name', status: null } 
typing any name 

所以我的前端之間的工作流程(angular.js),形式和後端(node.js的,快遞,貓鼬)似乎工作。現在我發佈這個值,但是我在我的mongoDB中得到一個空對象。

{ 「_id」: 「543a50a974de6e2606bd8478」, 「__ V」:0}

app.post('/api/offers', function (req, res){ 
var offer; 
console.log("POST: "); 
console.log(req.body); 
console.log(req.body.name); 
offer = new OfferModel({ 
name: req.body.name, 
value: req.body.value, 
title: req.body.title, 
content: req.body.content, 
}); 
offer.save(function (err) { 
if (!err) { 
    return console.log("created offer" + req.body.name); 
    } else { 
    return console.log(err); 
    } 
}); 
return res.send(offer); 
}); 

這裏是模型:

var offerSchema = mongoose.Schema({ 

offer   : { 
     name  : String, 
     value  : String, 
     title  : String, 
     content  : String, 
     image  : String, 
     start  : String, 
     end   : String, 
     targets  : String, 
     beacons  : String, 
     published : String 
} 
}); 
var OfferModel = mongoose.model('Offer', offerSchema); 

回答

1

模式不正確,必須是這樣的:

var offerSchema = mongoose.Schema({ 
    name  : String, 
    value  : String, 
    title  : String, 
    content  : String, 
    image  : String, 
    start  : String, 
    end   : String, 
    targets  : String, 
    beacons  : String, 
    published : String 
}); 
+0

謝謝!它解決了這個問題... – Marcel 2014-10-12 12:18:24

+0

不客氣)) – karaxuna 2014-10-12 12:18:38