gpt4 book ai didi

javascript - Mongoose map

转载 作者:IT老高 更新时间:2023-10-28 13:24:44 26 4
gpt4 key购买 nike

我正在尝试在 Mongoose 中创建一个具有映射(对象、关联数组、键值对)的模式,但到目前为止没有成功。
我的架构的文档必须是这样的:

{
"_id": ObjectId("..."),
"groups"
{
"groupA":
{
"value1": "...",
"value2": "..."
},
"groupB":
{
"value3": "...",
},
"groupC":
{
"value4": "...",
"value5": "...",
},
...
}
}

groups 是具有可变数量的键 的对象。我不提前知道这些 key ,因为它将由用户创建。
组中的每个条目都是另一个对象。和以前一样,我不知道键标识符,但我知道值是 String(或 bool 值,或数字,无所谓)。
当然,这些键是字符串

在 Mongoose 中是否有可能(无论如何要构建这样的架构/模型)?

最佳答案

最佳做法是将任何动态数据保留在您的字段名称之外。像这样的用例的典型方法是使 groups 成为一个数组,并将组的名称移动到包含对象的 name 字段中。然后您可以使用 Mixed 类型来包含用户定义的一组值:

{
"_id": ObjectId("..."),
"groups":
[
{
name: "groupA",
values: {
"value1": "...",
"value2": "..."
}
},
{
name: "groupB",
values: {
"value3": "..."
}
},
{
name: "groupC",
values: {
"value4": "...",
"value5": "..."
}
},
...
]
}

您将架构定义为:

var schema = new Schema({
groups: [{
name: String,
values: Schema.Types.Mixed
}]
});

关于javascript - Mongoose map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28200502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com