1
我在MongoDB中具有以下結構。 我有一個名爲鏈的集合的嵌套結構,如下所示。 我試圖訪問特定日期的選項,如下所示,在我的情況下是2015-01-17。如何訪問嵌套數組結構化集合中的數據
db.chains.find({ "symbol" : "UBSC" ,"option_exp.expiration_dt" : "2015-01-17"}).pretty()
但是,上面的查詢將所有與該符號相關的數據返回給我。
{
"_id" : ObjectId("52000a90d293b0e4134e8c35"),
"symbol" : "UBSC",
"option_exp" : [
{
"expiration_dt" : "2015-01-17",
"options" : [
{
"mult" : "10"
},
{
"mult" : "10"
}
]
},
{
"expiration_dt" : "2014-01-18",
"options" : [
{
"prem_mult" : "10"
},
{
"prem_mult" : "10"
}
}
]
}
],
}
這是我試圖通過Java
BasicDBObject query = new BasicDBObject();
query.append("symbol", "UBSC");
query.append("option_exp.expiration_dt", "2015-01-17");
訪問有誰請幫助我如何訪問一個特定日期的數據的方式。
嘿謝謝我試過這個選項你提到,但不幸的是我得到這個下面的錯誤錯誤:{「$ err」:「不支持的投影選項:$ elemMatch」,「代碼」:13097},我用mongo1.6版本 – Pawan
我看到elemMatch從版本2.2開始已經獲得suppourt,所以還有其他替代方案來實現這一點。 – Pawan
在2.2之前,您必須在您的代碼中完成匹配的文檔到達線路之後。 – Ross