MongoDB geoNear возвращает пустое при разбиении на страницы - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь вернуть список профилей. Это работало нормально при использовании find ()

Но мне нужно было переключиться на агрегат для сортировки по расстоянию.

Теперь вместо того, чтобы получать мои полные 100 записей по 20 каждый. Я получаю 40, и как будто он не находит остальных.

Любая помощь? (да, я пробовал с простым фильтром geoNear. Тот же результат)

 await Profile.aggregate([
      {
        $geoNear: {
          near: {
            type: "Point",
            coordinates: [long, lat]
          },
          distanceMultiplier:
            req.user.distanceMetric === "km" ? 0.001 : 0.000621371, // meter to ki:miles
          distanceField: "distance",
          spherical: true,
          maxDistance: distance !== 100 ? distance * 1609.34 : 99999999999
        }
      },
      {
        $match: {
          $and: [
            {
              _id: {
                $ne: Profile.castID(req.user.profileID),
                $nin: doNotDisplayList.map(id => Profile.castID(id))
              }
            }
          ]
        }
      },
      { $skip: skip },
      { $limit: limit }
    ]).sort({
      online: -1
    });
...