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

mongoでの集計クエリは機能しますが、Pymongoでは機能しません

    PythonでMongoDBへの有効な接続があると仮定します。
    次のコードスニペットは、result.

    pipeline = [
        {"$unwind": "$COL"},
        {"$group": {"_id": "$LOC", "sum": {"$sum": "$COL.amount"}}}
    ]
    
    cursor = collection.aggregate(pipeline)
    

    これで、cursorを変換できます リストする

    result = list(cursor)
    

    結果の値を出力すると、シェルクエリとまったく同じ結果が得られます。

    [{u'sum': 200.0, u'_id': u'User001'}]
    

    更新

    あなたがaggregateを呼んでいるようです Pythonコードでdb.docs.aggregate(pipeline)として機能します 。docs.aggregate...と呼ぶ必要があります dbなし 。上記の例を参照してください。



    1. メモリとCPUスパイクをredisします

    2. Springdatamongodb-集約フレームワークの統合

    3. mongodbでの単一クエリによる複数カウント

    4. MongoDBドキュメントに含まれる配列に含まれるサブドキュメントを更新します