sql >> Database >  >> NoSQL >> MongoDB

Veldwaarde ophalen uit matrix van subdocument

U kunt dit doen met het aggregatieraamwerk.

db.repository.aggregate([ 
    { "$match": { 
        "datetime_int": { "$gte": 1451952000 }, 
        "software.adobe.licenses.key" : { "$exists" : true } 
    }}, 
    { "$project": { 
        "hash": 1, 
        "key": { 
            "$map": { 
                "input": "$software.adobe.licenses", 
                "as": "soft", 
                "in": "$$soft.key"
            }
        }
    }}
])

Vanaf MongoDB 3.2 kunt u het subdocumentarrayveld direct projecteren.

{ "$project": { "hash": 1, "key": "$software.adobe.licenses.key"}}


  1. Optimalisatie - vind op alle velden in Mongoose MongoDB-schema

  2. Kunt u machtigingen op collectieniveau hebben in MongoDB?

  3. Hoe werk ik een Mongo-document bij nadat ik het heb ingevoegd?

  4. MongoError:gebruiker mag geen actie ondernemen