2016-11-15 1 views
0

나는 두 명의 사용자 사이의 관계를 저장하고있는 스키마가 있습니다. 이러한 각각의 관계에는 사용자 특정 데이터가 있습니다. 나는 그것이 본의 라인을 따라 뭔가를 할 수 있는지에 관해서 궁금 :몽구스의 동적 스키마 필드

{ 
    users: Array, 
    users[0]: { 
     typing: Boolean, 
     last_checked: Date 
    }, 
    users[1]: { 
     typing: Boolean, 
     last_checked: Date 
    } 
} 

대신 필요없이 정보가과 같이 저장 :

{ 
    users: Array, 
    data: Array 
} 

서버에 로직을 수행하면을 찾을 수 인덱스 등 같은 :

entry.data[entry.users.indexOf(id)].typing 

는 기본적으로 단지 두 사람의 관계에있는 각 사용자에 대한 사용자 기반 정보를 저장하는 괜찮은 방법을 찾기 위해 노력. 가장 이상적인 상황은 사용자 _id을 키로 사용하는 것이지만 Mongoose로 할 수 있습니까?

답변

0

사용자의 데이터가 포함될 배열을 만들 것을 제안합니다. 여기서는 배열의 크기를 두 개의 관계로 제한했습니다.

DataSchema = { 
     typing: Boolean, 
     last_checked: Date, 
    } 

    UserSchema = { 
     relationship: { 
      type: [DataSchema], 
      validate: [ 
      () => val.length <= 2, 
      '{PATH} exceeds the limit of 2 relationship', 
      ], 
     } 
    } 

액세스 데이터 :

// User 1 data 
entry.relationship[0] 

// User 2 data 
entry.relationship[1] 

// User 1 _id you can use 
entry.relationship[0]._id