sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongo-aggregering, projekter et underfelt af det første element i arrayet

Hvis du bruger mindst MongoDB v3.2, kan du bruge $arrayElemAt operatør for det. Nedenstående forespørgsel gør, hvad du vil. Det vil dog ikke returnere nogen data for den prøve, du har angivet, fordi "Instructions.1": { $exists: true } filter fjerner eksempeldokumentet.

db.getCollection('Orders').aggregate([{
    $match: {
        "Instructions.1": {
            $exists: true
        }
    }
}, {
    $project: { 
        "_id": 0, 
        "UserId": "$User.EntityId", 
        "ItemName": { $arrayElemAt: [ "$Items.Details.ItemName", 0 /* first item! */] }
    }
}])



  1. Hadoop InputFormat &typer af InputFormat i MapReduce

  2. Er der en måde at forhindre MongoDB i at tilføje flertalsform til samlingsnavne?

  3. Saml flere arrays i et stort array med MongoDB

  4. Opdeling af poster i en samling i MongoDB