2011-10-06 4 views
0

노드/익스프레스 앱에서 내 스키마 양식을 출력하는 다음 데이터가 있습니다. 피드 배열을 단순히 이름 배열 (키 쌍)으로 만들고 싶습니다. 나는 "피드"와 실제 피드 데이터 사이에서 진행되는 이상한 번호 매김 된 객체 구조를 좋아하지 않는다. 하지만 수동으로 mongoose에서 정의하는 방법을 알아낼 수 없습니다. 어떤 도움이 굉장 할 것입니다. 감사!몽구스 -이 데이터를 더 유용하게 만들려면 어떻게해야합니까?

내가이 원하는 JSON

{ 
"title": "Testing", 
"created_at": "2011-10-05T16:23:26.217Z", 
"feeds": [{ 
    "0": { 
     "name": "twitter", 
     "key": "person1" 
    }, 
    "1": { 
     "name": "twitter", 
     "key": "person2" 
    }, 
    "_id": "4e8c847e02edc10035000003" 
}] 

}

을 출력 :

{ 
    "title": "Testing", 
    "created_at": "2011-10-05T16:23:26.217Z", 
    "feeds": [ 
    { 
     "name": "twitter", 
     "key": "person1" 
    }, 
    { 
     "name": "twitter", 
     "key": "person2" 
    } 
    ], 
    "_id": "4e8c847e02edc10035000003" 
} 

이 내 스키마입니다 :

var Feed = new Schema({ 
    name  : { type: String } 
, key   : { type: String } 
}); 

var Page = new Schema({ 
    title   : { type: String, required: true, index: { unique: true } } 
    , feeds   : [Feed] 
    , created_at : { type: Date, required: true, default: Date.now } 
}); 

답변

0

좋아, 동료는이 대답 할 수 있었다 나를 위해. 관련 코드를 게시하지 않아서 나쁘다. 문제가 실제로 어디에 있었는지 알지 못했다. 하지만이 문제가 발생할 수있는 사용자 :

저장할 때 포함 된 문서를 모델로 푸시하면 포함 된 문서 (이 경우 피드)를 함께 누르는 대신 forEach 루프를 수행해야 할 수 있습니다. forEach를 사용하여 데이터베이스는 이상한 그룹을 생성하는 대신 피드를 피드 배열에 직접 저장했습니다.

는 제대로 피드를 밀어 :

req.body.feed.forEach(function(feed){ 
    page.feeds.push(feed); 
    }); 

이 같은 문제가 더 설명이 필요하면 알려주세요.

관련 문제