web-dev-qa-db-fra.com

en utilisant $ et avec $ match dans mongodb

J'essaie d'utiliser la requête suivante dans MongoDB mais elle n'est pas en cours d'exécution.

db.test.aggergate(
$match: {$and: [type: {$in: ["TOYS"]}, type: {$nin: ["BARBIE"]}, time: 
{$lt:ISODate("2013-12-09T00:00:00Z")}]}})

Il dit le caractère invalide ":".

Est-il possible d'utiliser $ et avec $ match? J'ai vu un exemple sur ce forum de $ ou avec $ match, donc je suppose que c'est possible.

Merci d'avance pour votre aide et vos conseils.

26
Manus

$ et avec $ match fonctionne très bien.

Vous avez des erreurs de syntaxe dans votre requête. Essaye ça.

db.test.aggregate([
                   { 
                     $match: {
                          $and: [ 
                              {type: {$in: ["TOYS"]}}, 
                              {type: {$nin: ["BARBIE"]}}, 
                              {time: {$lt:ISODate("2013-12-09T00:00:00Z")}}
                          ]
                     }
                   }
                  ])

Et pour ce que vous essayez de faire, vous n'avez pas besoin d'un $and.

62
4J41

Si quelqu'un veut refuser ma réponse, c'est bon, c'est une question typique avec un manque de recherche.

db.test.find( {$and: [ {"type": {$in: ["TOYS"]}}, 
                       {"type": {$nin: ["BARBIE"]}}, 
                       {"time": {$lt:ISODate("2013-12-09T00:00:00Z")}}
                     ]
})

AND fonctionne avec FIND, reçoit un tableau de correspondances (mais ce n’est pas une instruction de correspondance) Le cadre d’agrégation est pour quelque chose de complètement différent, c’est comme le dit Word, pour agréger (compte, somme, avg, et donc intéressant de grouper ou de décompresser , etc)

5
Maximiliano Rios
{
  $match: {
    $or:[
      {'sender':sender, 'recipient':recipient},
      {'recipient':sender,'sender':recipient}
    ]
  }
}

en utilisant $ ou

3
alfonsoolavarria

Ci-dessous est comment je fais avec beaucoup de dollars et avec $ ou

User.aggregate([
 {
  $lookup:{
   from:'influencers',
   localField:'_id',
   foreignField:'user',
   as:'influencer'
 }
 },
 { $match:{ '$and': 
  [ { '$and': [ { 'influencer.aboutMe.birthday': { '$lte': 2017-09-11T09:10:07.283Z } } ] },
  { '$and': [ { 'influencer.aboutMe.minPrice': { '$gte': 0 } } ] },
   { '$and': 
    [ { '$or': 
        [ { '$and': [ { 'influencer.followed_by': { '$gte': 0 } } ] },

         { '$and': [ { 'influencer.youTubeSubscribercount': { '$gte': 
  0 } } ] } ] } ] },
 { 'influencer.isAdminverified': true },
 { 'influencer.status': 'Verified' } ] } }

]);
0
Software Services