2017-06-14 84 views
0

從MongoDB中以下排序集合,我如何創建一個新的集合啓動文件,以便它包含一個包含{"hash": "b"}檢索特定文檔

{"hash": "a", "key1": "val1", "key2": "val2"}, 
{"hash": "b", "key1": "val3", "key2": "val4"}, 
{"hash": "c", "key1": "val5", "key2": "val6"}, 
{"hash": "d", "key1": "val7", "key2": "val8"} 

所以我試圖將文檔之後的所有文檔創建一個包含一個新的集合:

{"hash": "c", "key1": "val5", "key2": "val6"}, 
{"hash": "d", "key1": "val7", "key2": "val8"} 

我可以檢索包含{「哈希」:「b」}的文檔使用find(),但是這並不能幫助我遍歷後續元素的原始集合

回答

1

如果我理解你如何正確排序的哈希值,那麼下面會做你想要什麼:

db.getCollection('test').aggregate([{$match: {hash: {$gt: 'b'}}}, 
{$out: 'new'}]) 

只需更換你想要把結果放到集合的名稱和新的集合($out運營商指定後者)。