using $and with $match in mongodb

match, mongodb

Solution

$and with $match works just fine.

You have syntax errors in your query. Try this.

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

And for what you are trying to do, you do not need an `$and`.

Problem

I am trying to use the following query in MongoDB but it is not working. ``` db.test.aggregate( $match: { $and: [ type: { $in: ["TOYS"] }, type: { $nin: ["BARBIE"] }, time: { $lt: ISODate("2013-12-09T00:00:00Z") } ] } }) ``` It says invalid character ":". Is it possible to use $and with $match? I have seen an example on this forum of $or with $match so I presumed this is possible. Thank you in advance for your help and guidance.

Original source