MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como consultar dados dentro de uma matriz da coleção usando mangusto


use o framework de agregação.$desenrole seu array de log e aplique qualquer condição que você queira $sort $match,skip.ou você pode verificar $filter em $project stage, por favor poste sua saída esperada Eu tentarei minha mão
db.collection.aggregate([{"$unwind" : "$logs"},
{$match : {"$and" :  [{"logs.date" :{$gte : fromDate} },
{"logs.date" :{"$lte" : toDate}}]}},
{"$group" : "_id" : "_id",
"logs" : {"$push" : "$logs"},
"names" :{"$first" : "$name"}
}])

Ou você pode usar $filter se estiver usando o mongodb 3.2
{
  $filter: {
     input: logs,
     as: "num",
     cond: { $and: [
        { $gte: [ "$$num.date", fromDate ] },
        { $lte: [ "$$num.date", toDate ] }
      ] }
  }
}