gpt4 book ai didi

javascript - MongooseJS 模式关系

转载 作者:可可西里 更新时间:2023-11-01 09:19:59 26 4
gpt4 key购买 nike

我有如下 MongooseJS 模式:

var UserSchema = new Schema({
name : String,
app_key : String,
app_secret : String,
tasks : [{ type : Schema.ObjectId,
ref : 'Task'}]
})

var ActionSchema = new Schema({
name : String,
description : String,
module : String
})

var enumTaskState = ['New', 'Indexing', 'Idle', 'In Queue', 'Working'];
var TaskSchema = new Schema({
name : String,
lastPerformed : Date,
folder : String,
actions : [{type : Schema.ObjectId,
ref : 'Task'}],
user : { type : Schema.ObjectId,
ref : 'User'},
status : { type : String,
enum : enumTaskState,
default : 'New'}
})

问题是,当我设置任务的用户时,我是否必须手动转到该用户并在那里添加任务?这似乎是额外的工作(冗余),mongoosejs 中是否有一个选项允许我指定它将自行处理所有事情的关系?谢谢。

最佳答案

MongoDB 不是关系数据库,它是基于文档的数据库。

您可以通过查询 TaskSchema 并查找所需的用户来获取用户的任务列表。只需确保添加一个索引,这样它就会是一个快速查询:

user: {type: Schema.ObjectId, ref: 'User', index: true}

关于javascript - MongooseJS 模式关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com