[英]How can I give my id the Mongoose ObjectID? Of the whole object?
我想从 basicData 中给我的 id 提供我整个公司 object 的 ObjectID。 这怎么可能? 我试过了: _id: { type: mongoose.Types.ObjectId, ref: "Company" }
但它不起作用......你有解决方案吗?
我的代码:
import mongoose, { Schema, Document, Collection, mongo } from "mongoose";
const CompanySchema = new Schema(
{
basicData: {
_id: { type: mongoose.Types.ObjectId, auto: true }, // that id I want to give her the complete ObjectID of Company
tasks: {
type: [],
validate: {
validator: (arr: any) => {
return arr.length > 0;
},
message: "You must provide more than 0 tasks.",
},
title: { type: String, required: [true, "title is required"] },
},
partner: {
type: Number,
required: [true, "partner is required"],
min: 0,
max: 10,
},
riskFactor: {
type: Number,
required: [true, "riskFactor is required"],
min: 0,
max: 10,
},
name: { type: String, required: [true, "name is required"] },
},
},
{
versionKey: false,
typePojoToMixed: false,
}
);
const Company = mongoose.model("Company", CompanySchema);
export default Company;
您可以在 companySchema 文件中创建一个 basicSchema,插入时会自动获取一个_id
:
// Company.js
const BasicDataSchema = new Schema({
tasks: {
type: [],
validate: {
validator: (arr: any) => {
return arr.length > 0;
},
message: "You must provide more than 0 tasks.",
},
title: { type: String, required: [true, "title is required"] },
},
partner: {
type: Number,
required: [true, "partner is required"],
min: 0,
max: 10,
},
riskFactor: {
type: Number,
required: [true, "riskFactor is required"],
min: 0,
max: 10,
},
name: { type: String, required: [true, "name is required"] }
});
const CompanySchema = new Schema({
basicData: BasicDataSchema,
...
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.