我有这样的查询(简体):
db.report.aggregate([{
$match: {
main_id: ObjectId("58f0f67f50c6af16709fd2c7")
}
}, {
$group: {
_id: "$name",
count: {
$sum: 1
},
sum: {
$sum: {
$add: ["$P31", "$P32"]
}
}
}
}
])
我从Java执行此查询,我想将其映射到我的课程上,但是我不希望将’_id’映射到’name’字段上。因为如果我做这样的事情:
@JsonProperty("_id")
private String name;
然后,当我将数据保存回mongo(经过一些修改)后,我希望生成一个真实的ID时,数据将以名称’_id’保存。
那么,如何在$ group操作之后重命名“ _id”?
您可以通过
$project
在管道的末尾添加一个阶段来实现此目的,如下所示:
{ $project: {
_id: 0,
name: "$_id",
count: 1,
sum: 1
}
}
在线尝试:mongoplayground.net/p/QpVyh-0I-bP
问题内容: 我正在寻找一种重命名Hashmap密钥的方法,但是我不知道在Java中是否可行。 问题答案: 尝试删除该元素,然后使用新名称再次放置它。假设地图中的键是,则可以通过以下方式实现:
问题内容: 我目前正在使用jar-with-dependencies程序集创建这样的jar。但是,我的罐子的名称有点长。 由于AS400上的RPG程序正在使用此jar,因此我想缩短它,以使这些开发人员的工作更加轻松。但是,除了手工之外,我还没有找到一种方法来从通常的罐子中重命名罐子。我想要类似的东西 无论如何,在没有基本复制jar-with-dependencies程序集描述符并将其完全调用的情况
问题内容: 1个 结果集 : 2个 结果集2: 有没有办法可以做到这一点: 我想在RHEL 5上使用Sybase 12.5的解决方案,我也想知道在其他任何数据库系统中是否可行。 -–谢谢您的回答- 问题答案: 通过为该列使用CASE / WHEN并基于true / false求和1或0,您可以在同一查询中获得这两者。此外,如果您希望将另一个值的总和作为另一个,则可以执行相同的操作列…只需将其替换为
我正在用PySpark DataFrames分析一些数据。假设我有一个正在聚合的数据帧< code>df: 这将给我: 聚合工作得很好,但我不喜欢新的列名。有没有办法将此列重命名为人类可以从方法中读取的内容?也许更类似于中的操作:
我想使用spring cloud stream api聚合来自主题的事件。因此,我使用kstream作为输入。 现在我想使用聚合器将我的新对象存储在KeyValue存储区中,所以我使用以下代码: 为什么我只能使用字符串作为初始值设定项,不可能使用任何对象? 我错过什么了吗?
问题内容: 基本路线是这样的: 是否可以命名该路由并在任何模板中使用它,以便可以像这样使用它: 灵感来自Django :) 问题答案: 没有开箱即用的机制。但是,您可以模仿Django的样式:定义文件,该文件将包含URL数组。首先开始: myviews.js urls.js 现在在 app.js (或任何主文件)中,您需要将URL绑定到Express。例如这样: app.js 现在,您可以定义自定