我有一个数据库集合,其中有两种类型的用户。
**1.客户:**它们将具备所有基本功能。
**2.供应商:**除了可以创建、删除、更新和获取/查看车辆外,他们还将具有可用的基本功能。
假设供应商创建了一辆车辆,因此车辆ID将被添加到供应商的集合中,类似地:
{
. /*other fields*/
.
.
listings: [
"uniqueId",
"uniqueId2"
]
}
我做了一些搜索,发现要将车辆ID添加到listings
,需要首先在mongoose
中创建该字段,否则我的数据将无法通过mongoose
插入到mongodb
中。这会引起一个问题,即所有用户都有listings
字段。
下面是我创建的用户模型:
const userSchema = new mongoose.Schema({
user_type: {
type: String,
required: [true, "user type is required!"],
enum: ["customer", "vendor", "Customer", "Vendor"],
default: "customer"
},
listings: {
type: Array,
},//TODO: only create the listings array if the user type is vendor
});
因此,我的问题是,只有当user_type
是vendor时,我才能创建这个listing
字段吗?
1条答案
按热度按时间ttcibm8c1#
正如mongoose文档中所定义的那样,Arrays有一个默认值[],所以你需要重写它。