javascript - 通过使用 createdAt 与 Parse 服务器进行聚合不起作用
问题描述
我正在尝试使用 Parse 服务器(back4app,Parse server v2.7.1)进行聚合,但是虽然我能够使用我在 mongoDb 中显式创建的字段进行聚合,但我无法使用字段“createdAt”或'更新时间'。
例如,如果我调用:
query.aggregate(pipeline)
和:
{
project: {
objectId: "$objectId",
instr: "$instructions"
}
};
我有一系列记录,例如:
{instr: "1", objectId: "CNHAdpMD0U"}
如果在另一边我使用:
{
project: {
objectId: "$objectId",
date: "$createdAt"
}
};
我刚刚:
{objectId: "CNHAdpMD0U"}
最后,管道:
{
project: {
objectId: "$objectId",
dayOfYear: { $dayOfYear: "$createdAt" }
}
};
给出“500 - 内部服务器错误”,但我猜是由于缺少“$createdAt”的检索。
解决方案
Parse Server 上似乎对此进行了修复。目前,您可以像下面的云功能一样使用:
Parse.Cloud.define('yourFunctionName', (req, res) => {
var pipeline = [{
group: {
objectId: { day: { $dayOfMonth: "$_created_at" }, month: { $month: "$_created_at" }, year: { $year: "$_created_at" } },
count: { $sum: 1 } }
}
];
var query = new Parse.Query(Parse.User);
query.aggregate(pipeline, { useMasterKey: true })
.then(function(results) {
res.success(results);
})
.catch(function(error) {
res.error(error)
});
});
推荐阅读
- html - 同一页面中的 HTML 锚点不起作用
- python - 初始化 python Defaultdict
- html - HTML中的气缸编号选择器
- mysql - Telosys 无法连接到数据库
- python - 插入链表时管理重复项
- javascript - 如何使用 Jquery/Javascript 从生成的文本字段中获取乘法结果?
- mql4 - 是否可以从另一台 PC 远程控制 PC 上的 EA?
- python - 尝试启动 Jupyter 笔记本时出现 DLL 错误
- c# - 发现 System.Runtime 和 System.IO 之间存在冲突
- javascript - 使用 Javascript 启动新窗口并填写表单值