sql >> Databáze >  >> NoSQL >> MongoDB

jak dotazovat data uvnitř pole kolekce pomocí mongoose

použijte agregační rámec.$rozviňte své pole protokolů a aplikujte jakoukoli podmínku, kterou chcete $sort $match,skip.nebo můžete zkontrolovat $filtr ve fázi $project, zveřejněte prosím svůj očekávaný výstup Zkusím to sám

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

Nebo můžete použít $filter, pokud používáte mongodb 3.2

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



  1. Vytvořte aplikaci pro psaní poznámek pro Android pomocí MongoDB Stitch

  2. Mongo datové modelování/aktualizace pro hlasování (nahoru a dolů)

  3. Nepřímá úprava přetížené vlastnosti Laravel MongoDB

  4. Jak najít nejbližší páry (Hammingova vzdálenost) řetězce binárních přihrádek v Ruby bez problémů s O^2?