2016-06-23 18 views
0

最近、プログラミングに関することを知らせなくてはならないような気がします。私はサークルで続けています。AggregationOutputオブジェクトを作成して後で使用する方法

私はAggregationOutputオブジェクトを使用するメソッドでtry catchを持っています。キャッチ後、私は私が探しているフィールドの価値であることを願って返す。その値はAggregationOutputオブジェクト以外を格納する方法を見つけることができないAggregateメソッドから取得したものです。このような

何か:

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

または

AggregationOutput output = new AggregationOutput(null); 
    try 
    { 

私はすぐにそれに集計方法の値を保存せずにAggregationOutputを作成することができないのです。このように:

AggregationOutput output = collection.aggregate(pipe); 

これは私が私が私が正しく、この方法(集計)を使用することができますされていないBIG概念が欠落してい疑わせた、間違ってplaingない場合は、最低でもカウンター直感的なようです。

私はそのオブジェクトが自分自身で宣言される必要があることを知りたいので、宣言し、試行して、オブジェクトをインスタンス化し、キャッチ後にオブジェクトを返すことができます。

これを行う方法が他にもある場合は、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

宣言のAggregationOutput出力は実行できません。インスタンス化出力=新しい新しいAggregationOutput(結果)。後で? – Newton

+0

いいえ、できません。試行でインスタンス化を実行すると、「コンストラクタAggregationOutput(List )は表示されません」と表示されます。そして、それは私が思い付くあらゆる組み合わせのために働く。そして、私はそれが図書館自体でどのように行われているかをエミュレートしようとしていますので、私は迷っています –

+1

あなたはちょうどスキップをスキップして、スローでメソッドをマークしましたか? – Newton

答えて

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) {} 
} 

をやってみてください。

+0

残念なことに、私はメインを持っていない(と私は本当に確信していないが、私はどちらかが私のケースではどちらかが必要と思わない)私は十分であることが証明されなければならない別の解決策を行ったが、 –

+1

私は他の解決法を知りたいです – Newton

+1

元の目標は、何とかmongoが1つのフィールドを取得し、2つのクエリを条件として取得するための別個のクエリを作成することでした。これはかなり簡単に見つけることができますが、明確に私はそれで成功していませんでした。私はarroundを見たが、例がなかったので、私はそれが間違っているかどうか、またはその構文で行われるはずのものではなかったかどうかわからなかった。この検索で​​、私は同じことをする方法を見つけましたが、AggregationOutputでやや複雑な検索を使用しました。私は最終的に、BasicDBObjectに2つのパラメータを追加し、それらをdistinctのクエリとして使用することが実際に可能であることを発見しました。 –

関連する問題