Как сохранить только идентификатор пользователя, а не всего пользователя в другом документе в strapi JS - PullRequest
0 голосов
/ 28 мая 2020

От: Структура документа, подобная этой

{
    name:"hello",
    user:[ 
        {_id:"namejkcnskcn1",username:"username1",name:"name1",...},
        {_id:"namejkcnskcn2",username:"username2",name:"name2",...},
        {_id:"namejkcnskcn3",username:"username3",name:"name3",...}
    ]
}

К этому, чтобы не тратить лишнее пространство

{
    name:"hello",
    user:[ "namejkcnskcn","namejkcnskcn","namejkcnskcn"  ]//only ID's
}

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Вместо того, чтобы делать «пользователя» массивом объектов, вы можете сделать «пользователя» простым массивом идентификаторов.

Это схема

users: [{
    type: Schema.ObjectId,
    ref: 'user'   }]

Надеюсь, это будет быть полезным.

0 голосов
/ 28 мая 2020

Вы можете сделать что-то вроде этого.

const a = {
    name:"hello",
    user:[ 
        {_id:"namejkcnskcn1",username:"username1",name:"name1"},
        {_id:"namejkcnskcn2",username:"username2",name:"name2"},
        {_id:"namejkcnskcn3",username:"username3",name:"name3"}
    ]
}

let b = {
  ...a,
  user: a.user.map(val => val._id)
}

console.log(b)
...