sql >> Database >  >> NoSQL >> MongoDB

Elem match retourneert alle gegevens terwijl ik alleen de geselecteerde gegevens nodig heb

$elemmatch(query) retourneert alle rijen in een array wanneer er ten minste één rij is die voldoet aan de zoekcriteria.

$elemMatch(projection) retourneert alleen de eerste rij van alle overeenkomende rijen wanneer gebruikt als projectie.

U kunt eenvoudig alle overeenkomende rijen verkrijgen met behulp van de array-aggregatie-operator $filter .

In dit scenario worden productdetails gefilterd op basis van de doorgegeven criteria.

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. Wat is de meest tijdbesparende manier om een ​​datatabel te serialiseren/deserialiseren van/naar Redis?

  2. Morphia MongoDB-controle op null en niet-bestaand veld

  3. Moet ik ObjectID of uid (door mijzelf geïmplementeerd) gebruiken om de gebruiker te identificeren?

  4. Waarom wordt het starten van een solo MongoDB-instantie als replicaset niet aanbevolen in productie?