sql >> データベース >  >> NoSQL >> MongoDB

PyMongo-カーソルの反復

    次のようなアプローチを検討しましたか:

    for line in file
      value = line[a:b]
      cursor = collection.find({"field": value})
      entries = cursor[:] # or pull them out with a loop or comprehension -- just get all the docs
      # then process entries as a list, either singly or in batch
    

    または、次のようになります:

    # same loop start
      entries[value] = cursor[:]
    # after the loop, all the cursors are out of scope and closed
    for value in entries:
      # process entries[value], either singly or in batch
    

    基本的に、結果セットを保存するのに十分なRAMがある限り、カーソルからそれらを引き出して、処理する前にそれらを保持できるはずです。これはそれほど速くはないでしょうが、特にカーソルの速度低下を軽減し、そのために設定されている場合はデータを並行して処理することができます。



    1. mongoose.jsクエリを同期的に実行する

    2. MongoDBにコレクションが存在することを確認してください

    3. Mongodb:複数のコレクションまたはインデックス付きの1つの大きなコレクション

    4. gkeは透過的な巨大ページを無効にできません...許可が拒否されました