Mongoose - Как получить массив объектов из каждого документа в коллекции? - PullRequest
0 голосов
/ 03 сентября 2018

Каждый документ в моей коллекции выглядит примерно так (JSON):

{
name: "Roger",
matches: [
    {
        opponent: "Rafael Nadal",
        match_date: 1494536400000
    },
    {
        opponent: "Nick Kyrgyos",
        match_date: 1494557400000
    }
  ]
}

Я хочу извлечь все совпадения, которые имел каждый игрок, а также отсортировать их по match_date, используя Mongoose, но я не знаю, как.

Не могли бы вы помочь мне с этим?

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете попробовать ниже агрегации

db.collection.aggregate([
  { "$unwind": "$matches" },
  { "$sort": { "matches.match_date": 1 }},
  { "$group": {
    "_id": "$_id",
    "matches": { "$push": "$matches" }
  }},
  { "$limit": 20 },
  { "$project": { "matches": 1, "numberOfMatches": { "$size": "$matches" } }}
])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...