非常不寻常的猫鼬行为:find()只返回一个文档

时间:2016-07-28 16:09:46

标签: node.js mongodb express mongoose

我一直在使用mongoose一段时间,我目前仍然遇到这个问题:

我有一个动态MongoDB数据库,快速端点批处理使用Model.collection.insert插入记录。插入是完美的,我可以使用mongo shell查询所有文档,文档计数是预期的。

以下是插入文档的格式:

[  
   {  
      "disk":"Aff90",
      "graph":
       {
         "Q1":{  
            "frequency":21
         },
         "Q2":{  
            "frequency":13
         },
         "Q3":{  
            "frequency":35
         },
         "Q4":{  
            "frequency":24
         }
      },
      "sales": 987,
      "deep_discount": 50,
      "demand_score": 3.4
   },
   {  
      "disk":"B721",
      "graph":
       {
         "Q1":{  
            "frequency":98
         },
         "Q2":{  
            "frequency":129
         },
         "Q3":{  
            "frequency":812
         },
         "Q4":{  
            "frequency":240
         }
      },
      "sales": 2017,
      "deep_discount": 80,
      "demand_score": 7.4
   },//and so on(about 1000 documents) 
] 

但是,当我使用快速终点查询该数据时,它只返回第一个元素。我还没有遇到mongoose的这个特殊问题,我无法在网上找到解决方案。

用于检索的Express API代码:

router.post('/end-point',  function(req, res, next) {

  model.find({}, {"_id":0}, function(err, data){
      if(err){
        throw err;
      }
      if(data.length){
        res.json(data);
      }
   });
});

有人可以帮我理解问题是什么以及我如何解决它?

0 个答案:

没有答案