2017-12-01 3 views
0

개체 배열을 저장하려고하는데 전체 개체 대신 ObjectIds를 저장하는 중입니다. 스키마에서 생각조차도 그와 같은 의미는 없습니다.몽구스가 전체 개체 대신 objectId 만 저장하고 있습니다.

그래서,이 스키마가 :

let MatchPlayerSchema = new Schema({ 
    deck: {type: Array, default: []} 
}); 

을 그리고 난 (playerDeck) 데이터베이스에서 tooken이 배열을 저장하려고 :

let player = new MatchPlayer(); 
player.deck = playerDeck; 
player.save(); 
: 이것처럼

[ { _id: 5a1fc7ee667b103aace5f3ec, 
    magicResist: 10, 
    armor: 10, 
    attack: 10, 
    health: 10, 
    name: 'Test', 
    __v: 0, 
    type: 'CardUnit' }, 
    { _id: 5a1fc7ee667b103aace5f3ec, 
    magicResist: 10, 
    armor: 10, 
    attack: 10, 
    health: 10, 
    name: 'Test', 
    __v: 0, 
    type: 'CardUnit' }] 

그러나 결과는 다음과 같습니다.

"deck" : [ 
    ObjectId("5a1fc7ee667b103aace5f3ec"), 
    ObjectId("5a1fc7ee667b103aace5f3ec") 
] 

나는 갑판을 [Schema.Types.Mixed]으로 설정하려고했지만 어느 쪽도 도움이되지 못했습니다.

['test', 'test']과 같은 것을 저장하려고하면 괜찮습니다.

나는 알아낼 수 없다. 내가 뭘 잘못하고 있는지.
아이디어가 있으십니까? 당신이

답변

0
let MatchPlayerSchema = new Schema({ 
    deck: { 
     type: Schema.Types.Mixed 
    } 
}); 

당신은

+0

불행하게도 '갑판'으로 객체의 배열을 저장할 수 있어야합니다 감사합니다, 그것은 여전히 ​​같은 일을한다. – Mamut

+0

대신 다음이보십시오, 나는 나의 오래된 프로젝트뿐만 아니라 몽구스를 참조했다 기억 : 이 MatchPlayerSchema = 새 스키마합시다 ({ 데크 : { 유형 : 를 mongoose.Schema.Types.Mixed} }); – Nick