java - 使用mod在java中进行MongoDb聚合查询

标签 java mongodb

您好,我在 shell 中运行此命令:

db.getCollection('unaProva').aggregate( [ { 
$group : { _id : "$groupValue" ,total:{$sum:"$weight"}} }, { 
$project : { _id:0,groupValue : "$_id" , total : "$total" ,     
remainder: { $mod: [ "$total", "$_id" ] } } }] )

我可以工作,但我需要它在我的 Java 代码中工作,但我不知道如何转换它。

最佳答案

我无法检查此代码,因为我没有该集合,但它应该是这样的:

BasicDBList modArgs = new BasicDBList();
modArgs.add("$total");
modArgs.add("$_id");
coll.aggregate(asList(
    group("$groupValue", sum("total", "$weight")),
    project(fields(computed("groupValue", "$_id"),
        include("total"), excludeId(), 
        computed("remainder", new BasicDBObject("$mod", modArgs))))
));

请注意,我使用了一堆静态导入:

import static com.mongodb.client.model.Accumulators.sum;
import static com.mongodb.client.model.Aggregates.group;
import static com.mongodb.client.model.Aggregates.project;
import static com.mongodb.client.model.Projections.computed;
import static com.mongodb.client.model.Projections.excludeId;
import static com.mongodb.client.model.Projections.fields;
import static com.mongodb.client.model.Projections.include;

关于java - 使用mod在java中进行MongoDb聚合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513221/

相关文章:

java - java中按位&运算符的时间复杂度是多少?

java - 用 Java 重写 Gimli_hash

java - 没有官方API获取Estimote Beacons的接近信息?

mongodb - Spring Boot数据如何正确管理NumberLong进行Query?

javascript - 如何在 mongodb 中创建自定义 objectID

node.js - 具有三种用户类型的 Mongo 用户文档结构

javascript - $resource service .success 不是一个函数

java - 从 Java 访问 MS Analysis Services 多维数据集的最佳方式

java - Google App Engine 不支持英镑等特殊字符

mongodb - GCP 实例上的负载平衡 Mongodb