sql >> Database >  >> NoSQL >> MongoDB

Filterarray met de operator $in in de $project-fase

Sinds $in wordt niet ondersteund in de aggregatiebewerking voor array, het alternatief zou zijn dat u $setIsSubset gebruikt . Voor meer informatie hierover kunt u deze link raadplegen. De geaggregeerde zoekopdracht ziet er nu uit als

db.test.aggregate([
{
    $project: {
        'filtered_users': {
            $filter: {
                input: '$users',
                as: 'user',
                cond: {
                   $setIsSubset: [['x'], '$$user.accounts']           
                }
            }
        }
    }
}])

Deze zoekopdracht retourneert alleen elementen met [x] als een subset van de array in user.accounts .



  1. meteor:hoe kan ik een back-up maken van mijn mongo-database?

  2. MongoDB diacriticInSensitive zoekopdracht toont niet alle geaccentueerde (woorden met diakritische teken) rijen zoals verwacht en vice versa

  3. Voeg een waarde in op een specifieke positie in een array in MongoDB

  4. Kan geen werkend meteor.js-project maken op een zwervende doos