2017-11-22 18 views
2

mongodb의 컬렉션에있는 모든 문서의 ID 만 있으면됩니다. 유성을 사용하고 있습니다. 지금은 기본 ._each 루프를 사용하고 있지만 더 나은 방법이 있지만 불행히도 나에게 클릭하지 않는 것이 좋습니다. 다음은 몽고 컬렉션에서 ID 만 추출

내 코드입니다 :

projection의 작은 변화가 컬렉션에만 _ids를 가져 오기 위해 당신을 도울 수
var followedIds = Doubts.find({ch : chId, userId : userId}).fetch(); 
    var d_ids = []; 
    _.each(followedIds, function(doubt){ 
     d_ids.push(doubt._id) 
    }); 

답변

1

ID가 필요한 경우 _.pluck을 사용할 수 있습니다.

2

:

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

나는 이미 동일한 것을 시도했지만 출력으로 전체 콜렉션을 얻었다. 나는 시도했다 : var followsDoubtIds = Doubts.find ({ch : chId, userId : userId}, {_id : 1}). fetch(); console.log (후속 오류 ID). 그것은 – user3807691

+0

전체 문서를 인쇄하지만, 객체에서이를 감싸 줘야하며, 업데이트 된 답변을 확인하십시오. 이 문서를 확인하십시오 : https : //themeteorchef.com/tutorials/mongodb-queries-and-projections#tmc-the-mongodb-projection-document – Astro

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

See Docs

{} 모든 서류를 의미 함

{ "id": 1} 우리는 다른 필드가 아닌 id에만 관심이 있습니다.

+0

긴 문서가 있습니다. 문서에 16 개의 필드가 있습니다. field_1 : 0 ..... field_16 : 0을 쓰는 것이 좋은 디자인일까요? – user3807691

+0

예, 답변을 업데이트했습니다. –