$et avec $match fonctionne très bien.
Vous avez des erreurs de syntaxe dans votre requête. Essayez ceci.
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
.