代码遵循两个模式,一个是userSchema,另一个是rawMaterialSchema,我想使用ObjectId在userSchema中引用rawMaterialSchema
const mongoose = require("mongoose");
const { ObjectId } = mongoose.Schema;
const rawmaterialSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true,
maxlength: 32,
Unique: true
},
size: {
type: Number,
required: true,
trim: true,
maxlength: 32
},
partyname: {
type: String,
trim: true,
maxlength: 40,
required: true
},
partyphonenumber: {
type: Number,
maxlength: 10,
trim: true
},
user: {
type: ObjectId,
ref: "User",
required: true
}
}, { timestamps: true });
module.exports = mongoose.model('Rawmaterial', rawmaterialSchema)
如果我没理解错的话,你可以这样做
const mongoose = require("mongoose");
const { ObjectId } = mongoose.Schema;
const rawmaterialSchema = new mongoose.Schema({
name: {
type: Schema.Types.ObjectId, //<----- CHANGED
ref: 'users' //<----- CHANGED
},
size: {
type: Number,
required: true,
trim: true,
maxlength: 32
},
partyname: {
type: String,
trim: true,
maxlength: 40,
required: true
},
partyphonenumber: {
type: Number,
maxlength: 10,
trim: true
},
user: {
type: ObjectId,
ref: "User",
required: true
}
}, { timestamps: true });
module.exports = mongoose.model('Rawmaterial', rawmaterialSchema)
假设您有名称为user
的userSchema
const UserSchema = new Schema({
name: {
...
},
...
});
module.exports = User = mongoose.model("users", UserSchema);