2017-06-14 5 views
0

Aus der folgenden sortierten Sammlung in MongoDB starten, wie ich eine neue Sammlung erstellen Sie so, dass es alle Dokumente nach dem Dokument enthält, die {"hash": "b"}Dokumente abrufen von einem bestimmten Dokument

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

Also ich versuche, eine neue Kollektion, die folgendes enthält:

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

ich das doc abrufen kann, die { „hash“: „b“} enthält unter Verwendung von find(), aber das hilft mir nicht die nachfolgenden Elemente in der ursprünglichen Sammlung durchqueren

Antwort

1

Wenn ich verstehe, wie Sie auf dem Hash-Wert werden Sortierung korrekt, dann wird folgendes tun, was Sie wollen:

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

Ersetzen Sie einfach den Namen der Sammlung und die neue Kollektion Sie die Ergebnisse setzen wollen in (Der Operator $out spezifiziert Letzteres).

Verwandte Themen