如何在 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' }]
希望这会有所帮助。
来自: 像这样的文档结构
{
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' }]
希望这会有所帮助。