MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

jak wyszukiwać dane w tablicy kolekcji za pomocą mangusty?

użyj frameworka agregacji.$rozwiń swoją tablicę dzienników i zastosuj dowolny warunek $sort $match,skip.lub możesz sprawdzić $filter na etapie $project,proszę opublikuj oczekiwane wyniki Spróbuję swoich sił

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

Lub możesz użyć $filter, jeśli używasz mongodb 3.2

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Porównaj 2 daty w metodzie wyszukiwania mongo

  2. MongoDB vs CouchDB (optymalizacja prędkości)

  3. Radzenie sobie z powolnymi zapytaniami w MongoDB

  4. Chcę, aby moja funkcja pre('save') mangusta działała tylko raz

  5. Jak używać kombinacji $unset i $set w mongoDB