0
第一場我有一個看起來像這樣的文檔集合:的MongoDB:查詢在子文檔
{
"_id": "12345",
"Company Name" : "Foo Inc.",
"Address": "123 bar street",
"Financials" : {
"Last Year" : "2016",
"Balance Sheet" : {
"2016" : {
"Total Assets" : 123.0,
"Current Assets" : 456.0,
"Current Liabilities" : 789.0,
"Shareholders Equity" : -123.0
},
"2015": {
"Total Assets": 123.0,
"Current Assets": 456.0,
"Current Liabilities": 789.0,
"Shareholders Equity": -123.0
}
},
}
我可以以某種方式查詢最近一年的總資產不知道是哪一年?類似於Financials.Balance表。{latest_year}。總資產。 理想我想這樣做對整個集合即
db.find({'Financials.Balance Sheet.{last_year}.Total Assets' : {$gt: 1000}})
我有最新的一年稱爲去年單獨的領域是否有幫助
更多的是這裏選擇的文檔結構對於其預期目的而言非常糟糕的情況。將數組放在數組中而不是使用指定鍵會讓你變得更好。命名鍵是一個「anit-pattern」,不能通過計算被MongoDB「動態」查詢。保持一致的路徑是最佳選擇,然後您甚至可以「索引」數據以便更快地進行選擇。你不能用鑰匙做到這一點。 –