我試圖通過構建一個Web應用程序使用前端的框架和node.js爲後端以及mongoDB學習Ember.js作爲數據庫。不使用Ember.js使用查詢()方法檢索任何信息使用查詢()方法
我正在使用/試圖使用該網址提供參數ID,然後查詢該ID。
我無法從我的模型中獲取信息。當我使用findAll()時,我的查詢工作正常。但是,當我切換到find()或query()時,我無法檢索任何結果。
我看過的所有文檔都使用了我嘗試過的不同語法,但都沒有工作。
我將不勝感激任何提示或輸入。謝謝。
應用程序/ router.js
Router.map(function() {
this.route('stock', { path: '/:stock_id' });
});
應用程序/路由/ stock.js
export default Ember.Route.extend({
model: function(params) {
this.store.query('stock', {filter:{id : params.stock_id}}).then(function(stock){return stock.get('firstObject')});
}
});
應用程序/模型/ stock.js
export default DS.Model.extend({
Symbol: DS.attr('string'),
Name: DS.attr('string'),
LastSale: DS.attr('string'),
MarketCap: DS.attr('string'),
IPOyear: DS.attr('string'),
Industry: DS.attr('string')
});
應用程序/串行器/股。 js
export default DS.RESTSerializer.extend({
primaryKey: '_id',
serializeId: function(id) {
return id.toString();
}
});
應用程序/模板/ stock.hbs
{{#each model as |item|}}
<h3>{{item.Name}}</h3>
{{/each}}
我的服務器的NodeJS
app.get('/api/stocks/:id', function(req, res){
StockModel.findOne({'_id': req.params.id},function(err,docs){
console.log(docs.symbol);
if(err){
res.send({error:err});
}
else{
res.send({stock:docs});
}
});
});
模型鉤子應該返回的結果 – kumkanillam
謝謝你的迴應,從我的理解,我不能這樣做已經是我上面的應用程序/路由/ stock.js路線中? – Rbutler93
您錯過了'model()'中的'return'! – alizahid