如何从Sails JS Waterline集合中获取指定字段的列表?
我有一个url
列的MySQL表,我想获得表中的每个url
值的列表。 结构体:
在PHP中使用Laravel我可以做这样的事情来获得每个url
列值的数组:
$boards = Board::all()->lists('url');
但是,我不知道如何使用Sails JS做到这一点。 我注意到没有任何参数的find()获取数据库中的每一行,但是我找不到任何文档中的任何东西,它们让我得到url
列的值列表或者遍历返回的集合。
我试过这个:
var boards = Board.find().exec(function(error, _boards) { if(error) { return response.negotiate(error); } return _boards; });
但是,我实际上似乎无法遍历返回的数据。
有什么想法吗?
编辑:
完整的HomepageController.js:
module.exports = { index: function (request, response) { var data = { currentDate: (new Date()).toString(), boards: Board.query('SELECT url FROM board', function (error, results) { if (error) { return response.negotiate(error); } return results; }) }; return response.view('homepage', data); } };
编辑:工作代码:
module.exports = { index: function (request, response) { Board.query('SELECT url FROM board', function(error, results) { if(error) { return response.negotiate(error); } return response.view('homepage', { currentDate: (new Date()).toString(), boards: results }); }); } };
您可以使用原始的.query()
来select单个列:
Board.query('SELECT url FROM board', function (err, results) { ... });
但是,请记住,您的数据仍然是这样的:
[{url: 'row 1 value'}, {url: 'row 2 value'}, ...]