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

$unwindを使用してドキュメントを集約しておくにはどうすればよいですか

    $unwindは必要ありません まったく。単純な$match パイプラインで十分です:

    pipeline = [
        {
            "$match" : {
                "$or" : [
                    {
                        "goes.fridays.fr" : 700
                    },
                    {
                        "goes.special" : {
                            "$elemMatch" : {
                                "date" : "2010-01-01",
                                "fr" : 1000
                            }
                        }
                    }
                ]
            }
        }
    ]
    
    db.students.aggregate(pipeline)
    

    集約フレームワークがなくても簡単に実行できます。

    query = {
        "$or" : [
            {
                "goes.fridays.fr" : 700
            },
            {
                "goes.special" : {
                    "$elemMatch" : {
                        "date" : "2010-01-01",
                        "fr" : 1000
                    }
                }
            }
        ]
    }
    
    db.students.find(query)
    



    1. PHPmongodbドライバーは接続を確認します

    2. MongoDBdropIndexesコマンド

    3. mongodbは、取得した各ドキュメントにカウンターを追加します

    4. MongoDB $ slip(埋め込み配列ページング)