>

내 monongodb 스키마는 다음과 같습니다 :

let statSchema = new mongoose.Schema({
        title: String,
        statId: String,
        stats: {
            likeCount: Number,
            commentCount: Number
        }
    });
let MyStat = mongoose.model("MyStat", statSchema);

나는 모든 statId 를 얻을 수있는 방법을 찾고 있습니다  데이터베이스의 요소를 배열에 넣습니다.

나중에 request 를 사용하여 해당 배열을 살펴보고 싶습니다.   statId 를 취할 (npm 요청)  모든 stats 를 업데이트하는 API에서 JSON을 요청하십시오. 각 해당 statId 에 대한 (likeCount 및 commentCount) .

아래에서이 코드를 사용하면 :

MyStat.find({}, function(err, foundStats){
    if (err) throw err;
    console.log(foundStats);
  });

데이터베이스의 모든 요소를 ​​기록하지만 'statId'에만 액세스하는 방법을 모르겠습니다.

console.log(foundStats.linkId); 를 사용하려고했습니다 그러나 그것은 undefined 를 반환 .


  • 답변 # 1

    foundStats는 반복해야하는 배열입니다.

    foundStats.forEach((element) => {
        console.log(element.statId);
    });
    
    

    statId를 반환하려면 다음과 같이 사용하십시오 :

    MyStat.find({}, 'statId' , function(err, foundStats){
        if (err) throw err;
        console.log(foundStats);
      });
    
    

    여기에있는 문서 참조

    p

    statId는 '_id'로 저장됩니다. 따라서 명시 적으로 id 필드를 변경하거나 설정하지 않으면 '_id'에 객체 ID 필드가 있습니다.

    이 경우 다음을 사용할 수 있습니다

    MyStat.find({}, '_id', function(err, foundStats){
        if (err) throw err;
        console.log(foundStats);
    });
    
    

    'foundStats'에는 통계의 모든 id가 있습니다.

    몽구스, mongoDB를 더 확인하려면

관련 자료

  • 이전 Python Numpy - 파이썬 너피 - 루프가없는 2 차원 배열의 3 차원 인덱스
  • 다음 excel - 여러 스피너에 연결된 셀을 스피너가 연결된 셀의 값 합계로 제한하는 방법은 무엇입니까?