はじめに
数百万のドキュメントを含む mongo クラスターがあります。各ドキュメントには、次のような文字列 ID があります。
00072312e0761c6554c3606b50a21119773f2f7d
そして、mongoから最初と最後のキーを取得する方法があります
最大 ID:
find().sort( { _id : -1 } ).limit(1).next()._id
最小 ID:
find().sort( { _id : 1 } ).limit(1).next()._id
問題
ここで、データを処理する固定数のスレッドを起動し、id によるインデックスを使用して、データセット全体をスレッド間で均等に分割したいと考えています。次に例を示します。
データセット ID (注文者):
key1
key2
key3
key4
この小さな例では、2 つのスレッドを起動できるようにしたいと考えています。一方のスレッドは、key2 (包括的) から始まり、key3 で終了し、もう一方のスレッドは、key3 から始まり、key4 で終了します。
質問
このような特定の最大キー値と最小キー値の key3 (中央の文字列?) の値を計算するにはどうすればよいですか?
min key: 000001177ab8e0cd68586e93664911dbd549ab01
max key: 000724471401ce132f8be806b597cbd6ee9b070e
前もって感謝します!