如何创建AggregationOutput对象,以便以后使用它

时间:2016-06-23 07:09:19

标签: java mongodb mongodb-java

我觉得我最近不得不忘记编程。我一直在圈子里。

我想在使用AggregationOutput对象的方法中尝试catch。在捕获之后,我想回复我希望的是我正在寻找的领域的价值。这些值是我从聚合方法获得的值,除了AggregationOutput对象之外我找不到任何存储方式。

这样的事情:

List<DBObject> results = new ArrayList<DBObject>();
 AggregationOutput output = new AggregationOutput(results);
 try
    {

   AggregationOutput output = new AggregationOutput(null);
    try
    {

我无法创建AggregationOutput,而不会立即在其中存储聚合方法的值。像这样:

AggregationOutput output = collection.aggregate(pipe);

这至少反直觉,如果不是错误,这让我怀疑我错过了一个不允许我正确使用这种方法(聚合)的大概念。

我想知道该对象需要在它自己声明什么,所以我可以声明,进入try,实例化对象,然后在catch之后返回所述对象。

如果还有其他方法,不使用AggregationOutput,我也想知道,因为我找不到任何方法。

编辑:

@GET
    @Path("/get/{item}/{id}")
    @Produces(MediaType.APPLICATION_JSON)
    public String get( @PathParam("item") String item, @PathParam("id") String id)  {

        AggregationOutput output;
        try
        {

            List<DBObject> result = new ArrayList<DBObject>();
            output = new AggregationOutput(result);
//here I would operate with the output, then return the result as I usually do, an array or some other object that can be transformed into json

1 个答案:

答案 0 :(得分:0)

也许值得一试。

而不是

public String get()
{
    try {}
    catch() {}
}

尝试做

public String get() throws ExceptionName {}

//assuming you will use get in main
public static void main (String [] args)
{
    try { get(); }
    catch (ExceptionName e) {}
}

否则将代码链接到我,我会尝试在我的最后调试它。