有没有办法通过过滤器执行组? 如下所示:
model.find({groupBy: 'myField'})
我正在使用PostgreSQL。
答案 0 :(得分:0)
基于this page,您可以执行本机SQL查询,但是如果它仍然有效,我们没有关于此的更新,如他们所说:
警告:此功能尚未经过全面测试,尚未正式使用 支持:API可能会在将来的版本中更改。一般来说,它是 总是更好地通过连接模型执行数据库操作。 直接执行SQL可能会导致意外结果,数据损坏, 和其他问题。
对于数据源> 1.x的
dataSource.connector.execute(sql_stmt, params, callback);
或=< 1.x的
dataSource.connector.query(sql_stmt, params, callback);
1.sql_stmt - SQL字符串。
2.params - SQL语句的参数。
如果你有一个参数化的查询,如:
SELECT * FROM TABLE WHERE id = $1 or SOMETHING = $2
参数将是:params = [358, "SOMETHING"];
3.callback - 回调函数
<强> 4.Example 强>
module.exports = function (Collection) {
var ds = Collection.dataSource;
var sql = "SELECT _id FROM table GROUP BY my_field;";
var params = []; // = null (could be null also)
ds.connector.execute(sql, params, function (err, data) {
if (err) console.error(err);
console.log(data);
});
};
如果query
或execute
无法使用executeSQL