0

Pymongo 3.3.0およびMongodb 3,2でPython 3.5の特定のインデックスを使用して、インデックスを使用してコレクション内のドキュメントにアクセスしようとしています。sequenceドキュメントの読み込み順序を定義する番号を含む、各ドキュメントで呼び出されるフィールドを作成しました。このフィールドにインデックスを作成'sequence'し、次のコマンドを使用してインデックスに名前を付けました。

db.pages.create_index([('pages.sequence', pymongo.ASCENDING)], name='sequence')

ドキュメントのロードに使用されるコードは次のとおりです。

with MongoClient(tz_aware=True) as client:
    db = Database(client, name)
    for doc in db['pages'].find().hint('sequence').limit(1):
        ...

doc で返されたドキュメントにはシーケンス番号 1 が含まれておらず、Mongodb に読み込まれた最初のドキュメントではありません。'sequence'各ドキュメントのフィールドの値に基づいてドキュメントが昇順で返されるようにするにはどうすればよいですか?

編集: Sortコレクションが大きすぎて使用できません。サイズは約 16GB です。ドキュメントには、インデックスを使用すると、インデックス内のキーの順序でデータが返されると記載されているようです。そうでない場合、インデックスを使用してコレクション内のドキュメントの検索順序を定義することはできませんか?

4

0 に答える 0