我试图为我的数据库播种数据,但我的两个模式相互引用,所以我不确定如何可能在另一个之前播种一个。
我想使用fakerjs来处理一些数据,但我有点困惑我该如何处理它。
以下是我的Schemas,它们非常简单,并且都是相互引用的:
import mongoose from "mongoose";
import { loadType } from "mongoose-currency";
const Schema = mongoose.Schema;
loadType(mongoose);
const CategorySchema = new Schema(
{
name: String,
expenses: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Expense",
},
],
},
{ timestamps: true, toJSON: { getters: true } }
);
const Category = mongoose.model("Category", CategorySchema);
export default Category;
另一个是:
import mongoose from "mongoose";
import { loadType } from "mongoose-currency";
const Schema = mongoose.Schema;
loadType(mongoose);
const ExpenseSchema = new Schema(
{
name: String,
price: {
type: mongoose.Types.Currency,
currency: "USD",
get: (v) => v / 100,
},
date: {
type: Date,
},
category: {
type: mongoose.Schema.Types.ObjectId,
ref: "Category",
},
},
{ timestamps: true, toJSON: { getters: true } }
);
const Expense = mongoose.model("Expense", ExpenseSchema);
export default Expense;
有谁知道如果他们互相依赖,我会怎么做?
2条答案
按热度按时间jv4diomz1#
参考儿童文档解释了这种情况。
例如(“mongoose”:“^7.3.1”)
调试日志:
qxsslcnc2#
这是我在感谢上面的答案降落:
不确定这是否是最有效的,如果有人知道更好的方法,请lmk!