仅从mongo集合中提取id

时间:2017-11-22 07:20:48

标签: mongodb meteor underscore.js

我只需要mongodb中集合中所有文档的ID。我正在使用流星。现在,我正在使用基本的._each循环,但我打赌存在更好的方法,但不幸的是它没有点击给我。

以下是我的代码:

var followedIds = Doubts.find({ch : chId, userId : userId}).fetch();
    var d_ids = [];
    _.each(followedIds, function(doubt){
        d_ids.push(doubt._id)
    });

3 个答案:

答案 0 :(得分:2)

projection中的一个小变化可以帮助您仅从集合中获取_ids:

var followedIds = Doubts.find({ch : chId, userId : userId},
      { 
           fields:{
                 _id:1
           }
      }).fetch();
    var d_ids = [];
    _.each(followedIds, function(doubt){
        d_ids.push(doubt._id)
    });

答案 1 :(得分:1)

db.collection_name.find({},{"id":1})

See Docs

{} 表示所有文件

{“id”:1} 我们只对id而不是其他字段感兴趣。

答案 2 :(得分:1)

如果您只需要ID,则可以使用_.pluck