[英]How can data schema be rejected before the mongodb connection is made by node.js and mongoose?
[英]Mongodb mongoose node js schema relation
你好,我是 mongodb 和 node js 的新手,我有一個問題
這是我的產品架構
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const categorySchema = require('./category');
const ProductSchema = new Schema({
country: {
type: String,
required: [true, "country can't be null"]
},
city: {
type: String,
default: ""
},
name: {
type: String,
required: [true, "name can't be null"]
},
measureValue: {
type: Number,
default: 0
},
minPrice: {
type:Number,
required: [true, "minPrice can't be null"],
min: [1,"minPrice must be at least 1"]
},
maxPrice: {
type:Number,
required: [true, "maxPrice can't be null"],
min: [1,"maxPrice must be at least 1"]
},
photoUrl: {
type:String,
default: ""
},
explanation: {
type: String,
default: ""
},
category: [categorySchema.schema],
userID: {
type: String,
required: [true,"userid cant be null"]
},
isActive: {
type: Boolean,
default: true
},
createdDate: {
type: Date,
default: Date.now
},
deletedDate: {
type:Date
}
})
這是我的類別架構
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const CategorySchema = new Schema({
name: {
type: String,
required: [true, "name can't be null"]
},
createdDate: {
type: Date,
default: Date.now
},
deletedDate: {
type:Date
}
})
我需要這樣做; 每個產品數據都必須有類別
如果有一天,一個類別的名稱發生了變化,那么與該類別相關的每個產品都必須更改
我正在嘗試將類別 id 設置為產品架構,當我獲取數據時,它必須是每個類別名稱為 json 的產品
如果你幫助我,我真的很困惑,我真的很感激
您可以將類別設置為:
category: {
type: mongoose.Schema.Types.ObjectId,
ref: 'category' //your model name
}
如果需要多個類別,可以將其包裝到一個數組中並命名為類別。
然后,當您獲取數據時,您將必須執行new Product().populate('category')
來檢索類別數據,而不僅僅是返回類別 ObjectId。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.