0

私はMongoDBを使用しており、以下の形式でコレクションを持っています。

 db.options.find({ "undersymbol" : "UBSC"}).pretty()
{

        "finalsymbol" : "UBSC",
        "option_exp" : [
                {
                        "expiration_dt" : "2015-01-17",
                        "days_to_expire" : 638,
                        "low_strike" : 120,
                        "high_strike" : 190,
                        "no_of_strikes" : 86,
                        "options" : [
                                {
                                        "strikeprice" : "120.0",
                                        "chain_type" : "call",
                                        "symbol" : "UBSC"

                                }
              ]
                     },

          "expiration_dt" : "2015-01-18",
                        "days_to_expire" : 656,
                        "low_strike" : 34,
                        "high_strike" : 455,
                        "no_of_strikes" : 67,
                        "options" : [
                                {
                                        "strikeprice" : "420.0",
                                        "chain_type" : "call",
                                        "symbol" : "UBSC"

                                }
              ]
                     }


                }
        ]
}

現在、次のクエリを使用してコレクションからデータを抽出しています

           BasicDBObject query = new BasicDBObject();
        query.put("finalsymbol", "UBSC");
        OptionsData ocd = (OptionsData) coll.findOne(query);

形成されているクエリは

{ "finalsymbol" : "UBSC"}

パフォーマンスが向上するように、クエリにexpiration_dtも含めることができますか??finalsymbol

4

2 に答える 2

1

有効期限で検索する必要がある場合は、クエリ呼び出しに別のフィールドを追加するだけですput(appendちなみにそうでしたか?)。パフォーマンスが必要な場合は、コレクションのクエリに使用しているフィールドにインデックスを定義します。

于 2013-07-27T21:11:57.103 に答える