MongoDB несколько запросов одновременно - PullRequest
0 голосов
/ 28 февраля 2020
{
    "Registration State" : "NY",
    "Issue Date" : ISODate("2019-12-27T18:30:00Z"),

}
{
    "Registration State" : "NJ",
    "Issue Date" : ISODate("2019-06-19T18:30:00Z"),

}

Я очень плохо знаком с MongoDB. Работая с набором данных, который требует, чтобы я выяснил число штатов, для которых были поданы заявки на 2019 год, также предоставьте список штатов.

PS - это очень урезанная версия набора данных для удобство.

Ответы [ 2 ]

0 голосов
/ 08 марта 2020

небольшая модификация на основе приведенного выше ответа

для получения различных состояний

let resultArray= db.collection.distinct("Registration State", 
   {
      $and: [
         { "Issue Date": { $gte: new Date("2019-01-01T00:00:00Z") } },
         { "Issue Date": { $lt: new Date("2020-01-01T00:00:00Z") } }
      ]
   }
)

для получения длины

resultArray.length
0 голосов
/ 28 февраля 2020

Вы можете использовать это выражение поиска:

db.collection.find(
   {
      $and: [
         { "Issue Date": { $gte: new Date("2019-01-01T00:00:00Z") } },
         { "Issue Date": { $lt: new Date("2020-01-01T00:00:00Z") } }
      ]
   }
).count()

Или как конвейер агрегации:

db.collection.aggregate([
   { $addFields: { year: { $year: "$Issue Date" } } },
   { $match: { "year": 2019 } },
   {
      $group: {
         _id: null,
         count: { $sum: 1 }
      }
   }
])
...