如何知道通过猫鼬检索到的文档的总大小/重量?

时间:2018-10-12 17:16:09

标签: node.js mongodb mongoose

我得到了这个查询:

var aggregate = null;

  if (lat1 && lon1) {

    aggregate = Tutor.aggregate([
      {
        "$geoNear":
        {
          "near":
          {
            "type": "Point",
            "coordinates": [lon1, lat1]
          },
          "distanceField": "distance",
          "spherical": true,
          "maxDistance": radius
        }
      },
      {
        $match: match
      }
    ]);
  } else {
    aggregate = Tutor.aggregate([
      {
        $match: match
      }
    ]);
  }

  Tutor
    .aggregatePaginate(aggregate, options, function (err, result, pageCount, count) {
      if (err) {
        return res.status(400).send(err);
      }
      else {    
        var opts = [
          { path: 'levels', select: 'name' },
          { path: 'subjects', select: 'name' },
          { path: 'assos', select: 'name' }
        ];
        Tutor
          .populate(result, opts)
          .then(result2 => {
            return res.send({
              page: page,
              perPage: perPage,
              pageCount: pageCount,
              documentCount: count,
              tutors: result2
            });
          })
          .catch(err => {
            return res.status(400).send(err);
          });
      }
    })

我想知道结果的总大小。

为什么?

因为,事实上,我没有得到应该得到的所有结果。 (30个中只有18个)...根据这篇文章:Mongo $geoNear query - incorrect nscanned number and incorrect results

可能是由于mongodb对$ GeoNear的结果限制为16 MB。这就是为什么我想通过了解返回的文档总数/重量来检查这是否是我的问题的原因。

谢谢!

0 个答案:

没有答案