2015-08-24 107 views
1

MongoDB中需要选择领域我可以使用僧使用下面的方法使用和尚

collection.find({}, 'Name Age -_id', function (e, docs) { 
    res.json(docs); 
}); 

这正常检索MongoDB中唯一入选的领域,但是当我在增加一个选项,我面临的问题查询它抛出fn should be a function错误,因为它预计第三参数是成功的回调函数

当我尝试

collection.find({},{limit:5}, 'Name Age -_id', function (e, docs) { 
     res.json(docs); 
    }); 

我想我得到这个错误通过成功的功能,但仍然得到了同样的错误

collection. find({} , { limit: 5 }, 'Name Age -_id').on('success', function (e, docs) { 
     res.json(docs); 
    }); 

回答

3
collection.find({ }, { limit : 5, fields : "Name Age -_id" }, function (err,data) { 
res.json(docs); 
}); 
+0

感谢西仁 学习和尚任何教程链接的建议? –

+0

是否可以选择名称年龄和_id并消除其余的? –

+0

是否想要从数据库中删除其他字段? –

0

以防万一有人想选择字段包括_id,你可以尝试以下解决方案

collection. find({},{ limit: 5 , fields : 'Name Age _id'}, function (e, docs) { 
     res.json(docs); 
    }); 

这将选择和只返回姓名,年龄和_id字段

1

我宁愿更清洁和更可读的方式来做到这一点,

 query1={'userType':'mobile'}; //What to select 
     query2={limit : 2, fields : "name age _id"} //limit and fields to select 
     collection.find(query1,query2, 
     function(error,mobile_users){ 
      if(error) 
       response.send(error) 
      else{ 
       response.send(mobile_users); 
      } 
     }); 

希望它有助于