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

$lookup結果の$match

    MongoDB 3.4では、 $ addFields パイプラインと $ filter Companyのみを返す演算子 指定された条件に一致する要素を持つ配列。次に、 $をラップできます。フィルタ $arrayElemAt<を使用した式/ code> 本質的に $ unwind アレイをフラット化することによる機能。

    上記の概念を理解するには、次の例に従ってください。

    db.users.aggregate([
        { "$match": { "UserName": "administrator" } },
        { 
            "$lookup": { 
                "from": 'companies', 
                "localField": 'CompanyID', 
                "foreignField": 'CompanyID', 
                "as": 'Company' 
            } 
        },
        {
            "$addFields": {
                "Company": {
                    "$arrayElemAt": [
                        {
                            "$filter": {
                                "input": "$Company",
                                "as": "comp",
                                "cond": {
                                    "$eq": [ "$$comp.CompanyName", "edt5" ]
                                }
                            }
                        }, 0
                    ]
                }
            }
        }
    ])
    


    1. MongoDBアップサートの説明

    2. PowershellMongodb認証

    3. 新しい/別のmongoデータベースにユーザーを追加するには、どのMongoDBユーザー権限が必要ですか?

    4. mongodb3.x.xのWSO2DSSサポート