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

mongodb、pymongo、aggregateは奇妙な出力を出します(カーソルについての何か)

    通常のfindの場合と同様に、集計クエリの結果はカーソルになります。 クエリ。 pymongoの場合 CommandCursor は反復可能であるため、次のいずれかを実行できます。

    cursor = db.points.aggregate(...)
    
    # Option 1
    print(list(cursor))
    
    # Option 2
    for document in cursor:
        print(document)
    

    注: arunに気づきました 、どちらの場合も、つまり、カーソルからリストを作成した後、またはforループで反復した後は、カーソルを繰り返すことはできません。その場合、最初のオプションは、将来使用したい場合に、取得したリストがすでにメモリ内にあるため、好きなだけ使用できるため、より適切になります。
    使用できない理由繰り返しになりますが、カーソルは実際にはサーバー上にあり、データをチャンクごとに送信します。すべてのデータを送信した後(またはサーバーが終了した後)、カーソルは破棄されます。




    1. PATCHリクエストでの配列更新のための$addToSet実装

    2. mongodbでタイムスタンプを日付に変換する方法は?

    3. MongoDB:少数と多数の間の制限はどこにありますか?

    4. エラーの取得:RouteのRoute()をStringに適用できません