gpt4 book ai didi

javascript - mongoose - 如何让子文档符合模式

转载 作者:行者123 更新时间:2023-11-30 14:27:00 25 4
gpt4 key购买 nike

所以我有以下模式:

var Item_Detail = new Schema(
{
content: {
index: true,
type: Array
},
is_private: {
default: false,
index: true,
type: Boolean
},
order: {
index: true,
required: true,
type: Number
},
table: {
default: {},
type: Object
},
title: {
required: true,
index: true,
type: String,
},
type: {
default: "text",
enum: ["text", "table"],
index: true,
type: String
},
},
{
strict: false
}
)

const Item = new Schema(
{
details: {
default: [],
index: true,
type: [Item_Detail],
},
display_name: {
default: "",
index: true,
type: String,
},
image: {
default: "http://via.placeholder.com/700x500/ffffff/000000/?text=No%20Image&",
type: String
},
is_private: {
default: false,
index: true,
type: Boolean
},
tags: {
index: true,
type: [Tag]
}
},
{
strict: false
}
)

现在,Item_Detail 将成为 Item 的子文档,但我不太确定应该如何执行 default类型 限制。我也不希望 Item_Detail 本身就是一个集合,因此使用 createsave 可能不合适。

最佳答案

我想你可以使用 embedded documents为此,在您的项目架构中,您可以嵌入一个 item_detail:

const Item = new Schema({
...
item_detail: item_detail
})

然后在服务器上,当你想添加一个 item_detail 时,你可以执行以下操作

myItem = new Item({//enter item data here})
//assign item detail here
myItem.item_detail = item_detail ;

然后继续保存

myItem.save()

关于javascript - mongoose - 如何让子文档符合模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761128/

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