如何从 Sails JS Waterline 集合中获取指定字段的列表?
How can I get a list of a specified field from a Sails JS Waterline collection?
我有一个 MySQL table 和 url
列,我想获得 table 中每个 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'}, ...]
我有一个 MySQL table 和 url
列,我想获得 table 中每个 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'}, ...]