sql >> Database >  >> NoSQL >> MongoDB

hoe u gegevens in een array van de verzameling kunt opvragen met behulp van mangoest

gebruik aggregatieframework.$wind je log-array af en pas elke gewenste voorwaarde toe $sort $match,skip.or je kunt $filter aanvinken in $project stage, post je verwachte output. Ik zal mijn hand proberen

db.collection.aggregate([{"$unwind" : "$logs"},
{$match : {"$and" :  [{"logs.date" :{$gte : fromDate} },
{"logs.date" :{"$lte" : toDate}}]}},
{"$group" : "_id" : "_id",
"logs" : {"$push" : "$logs"},
"names" :{"$first" : "$name"}
}])

Of je kunt $filter gebruiken als je mongodb 3.2 gebruikt

{
  $filter: {
     input: logs,
     as: "num",
     cond: { $and: [
        { $gte: [ "$$num.date", fromDate ] },
        { $lte: [ "$$num.date", toDate ] }
      ] }
  }
}



  1. MongoError:er zijn geen gebruikers geverifieerd

  2. Een documentveld in mongo bijwerken op basis van de waarde van een ander veld

  3. MongooseError [MongooseServerSelectionError]:verbinding <monitor> naar 52.6.250.237:27017 gesloten

  4. MongoDB:WriteResult.getN() retourneert altijd 0?