如何解决sails js 中的 MongoDB 聚合查询
除了sum和average之外,我们如何在sails js中编写聚合查询。
就像我们在 mongoose 中有 Model.aggregate()
方法一样,如何使用sails-mongo 完成同样的事情
解决方法
您必须使用可用的数据存储管理器才能进行本机查询。聚合不是水线支持的功能。
文档:https://sailsjs.com/documentation/reference/waterline-orm/datastores/manager
这是一个例子:
const db = ModelName.getDatastore().manager;
const rawCollection = db.collection(tableName);
if (!rawCollection)
return res.serverError(
"Could not find tableName collection"
);
return rawCollection
.aggregate(
[
{
$match: {
createdAt: {
$gte: from,$lte: to,},{ $sort: { createdAt: -1 } },{
$group: {
},{ $limit: page * limit + limit },{ $skip: page * limit },],{
cursor: {
batchSize: 100,}
)
.toArray((err,result) => {
if (err) return res.serverError(err);
let results = {
items: result,total: result.length,};
return res.json(results);
});
将 ModelName
和 tableName
更改为您所需要的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。