例如,有這樣一個集合:
如何高效地使用多個鍵執行「獨特」?
{市場: 'SH',代碼: '000001',日期: '2012-01-01',價格:1000}
{市場: 'SZ',代碼: '000001',日期: '2012-01-01',價格:1000}
{市場: 'SH',代碼: '000001',日期: '2012-01-02',價格:1000}
{市場: 'SZ',代碼: '000001',日期: '2012-01-02',價格:1000}
{市場: 'SH',代碼: '000002',日期: '2012-01-03',價格:1000}
...
此集合包含數千萬的文件。
我想打電話給不同的兩個鍵:
collection.distinct('market', 'code');
,並得到結果:
[{市場: 'SH',代碼: '000001'}, {市場: 'SZ',代碼: '000001'},{ 市場: 'SH',代碼: '000002'}]
本機獨特的命令只接受一個關鍵,我嘗試實施它通過使用map-reduce。但是map-reduce太慢而不是本地獨特。在我的一鍵獨特測試中,map-reduce花費的時間比native distinct長十倍。
有沒有一種有效的方法來實現multikey不同?