2014-06-24 102 views
0

我想創建一個控制器/項目,返回集合'工作'中的所有數據。數據在那裏,並且調用以200結束,但僅返回[],或者測試:測試是否取消註釋。有人能指引我正確的方向嗎,我是新來的MEAN堆棧。平均堆棧路由不返回響應

服務器/控制器/ work.js

'use strict'; 

/** 
* Module dependencies. 
*/ 
var mongoose = require('mongoose'), 
    Work = mongoose.model('Work'); 

exports.all = function(req, res) { 

    Work 
    .find() 
    .exec(function(err, project) { 
     console.log(project); 
     res.json(project); 
     //res.json({"test":"test"}); 
    }); 

}; 

公共/系統/控制器/ work.js

'use strict'; 

angular.module('mean.system').controller('WorkController', ['$scope', 'Global', '$http',  
function ($scope, Global, $http) { 

    $scope.global = Global; 

    $http.get('/projects').success(function(d) { 

    }).error(function(d) { 

    }); 

}]); 

服務器/路由/ work.js

'use strict'; 

// User routes use users controller 
var work = require('../controllers/work'); 

module.exports = function(app) { 

    app.get('/projects', work.all); 

}; 
+0

你確定你有數據。打開你的mongo cli並看看。 'mongo '然後'db.works.find()'(如果你不確定集合名是否顯示集合;'獲取集合列表 –

+0

是的,當我訪問終端中mongo shell的集合時有數據 – user1572796

回答

0

實測值的問題,出於某種原因,該集合在某處被命名爲「作品」而非「作品」。也許這是用貓鼬或其他東西自動完成的,但它解決了這個問題。

+0

express試圖根據文檔名稱複製集合名稱,例如'article'變成'articles'等等當你使用'mongoose.model('ModelName')'時,它仍然應該明白你在問什麼。看到你的模型試圖理解爲什麼你看到這樣的行爲。 –