sql >> Databasteknik >  >> NoSQL >> MongoDB

Elem match returnerar all data medan jag bara behöver den valda datan

$elemmatch(query) returnerar alla rader i en array när det finns minst en rad som matchar frågekriterierna.

$elemMatch(projektion) returnerar endast den första raden av alla matchande rader när den används som projektion.

Du kan enkelt få alla matchande rader genom att använda arrayaggregationsoperatorn $filter .

I det här scenariot kommer produktinformation att filtreras baserat på de kriterier som godkänts.

aggregate([{
    $match: {
        "project_code": 'usha-fos'
    }
}, {
    $project: {
        "agency_code": 1,
        "client_code": 1,
        "project_code": 1,
        "product_details": {
            "$filter": {
                "input": "$product_details",
                "as": "result",
                cond: {
                    $eq: ["$$result.Division", "Electric Fans"]
                }
            }
        }
    }
}])



  1. MongoDB Regex-sökning på heltalsvärde

  2. Fjäderdata Redis HGETALL operation

  3. Redis prestanda på en multi-core CPU

  4. Hur man kapslar samma schema i mongoose js