using $and with $match in mongodb

后端 未结 3 1220
孤街浪徒
孤街浪徒 2020-12-13 04:31

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\"         


        
相关标签:
3条回答
  • 2020-12-13 04:34

    $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.

    0 讨论(0)
  • 2020-12-13 04:58
    {
      $match: {
        $or:[
          {'sender':sender, 'recipient':recipient},
          {'recipient':sender,'sender':recipient}
        ]
      }
    }
    

    using $or

    0 讨论(0)
  • 2020-12-13 04:59

    If anybody wants to refuse my answer it's ok, this is a typical question with lack of research

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

    AND works with FIND, receives an array of matches (but it's not a match instruction) Aggregation framework is for something completely different, it's like the word says, for aggregating (count, sum, avg, and so worth grouping or unwinding, etc)

    0 讨论(0)
提交回复
热议问题