如何给我的id Mongoose ObjectID?整个物体



我想从basicData中给我的id整个公司对象的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,
...
});

最新更新