如何在 strapi JS 的另一个文档中仅存储用户 ID 而不是整个用户

How to store only the user id not whole user inside another document in strapi JS

来自: 像这样的文档结构

{
    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
}

你可以这样做。

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)

您可以将 "user" 设为简单的 ID 数组,而不是将 "user" 设为对象数组。

这是架构

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

希望这会有所帮助。