gpt4 book ai didi

node.js - Mongoose 中的自定义模式类型

转载 作者:可可西里 更新时间:2023-11-01 10:43:23 24 4
gpt4 key购买 nike

我是 MongoDB 的新手,正在从事一个专业网络项目,我必须在 Schema 中区分同一字段的 ObjectId。假设我有

架构:

TestSchema = new Schema({
Invitation: {
from: [
type: schema.types.objectid,
ref: 'User'
]
}
});

邀请 可以是不同的类型,例如事件邀请、连接请求邀请(如 LinkedIn)或实时 session 或讨论邀请。现在,如果我遵循上述架构,那么不同类型邀请的 ObjectId 将存储在相同的字段 from 中,这将不是通用和困难的获取或区分哪个 ObjectId 属于哪个邀请类型。就像我将它们存储在单个数组 [] 中一样,我想让该数组中的每个 ObjectId 易于区分。例如:-

{
Invitation: {
from: [Objectid(A), Objectid(B), Objectid(C)]
}
}

假设 A 属于 Event 邀请,而 BC 属于不同类型的邀请。上面的例子是我想出的逻辑。我还考虑过为不同的邀请类型使用子数组字段或子文档,但后来我认为应该有一种通用的方法来做到这一点。我花了相当多的时间在谷歌上寻找逻辑与 custom objectid 概念,但不确定该概念是否对我在这里想要的有用。

最佳答案

据我了解您的问题,您应该像这样创建用户或事件类型架构:

EventType = new Schema(){
type: String,
eventID: {
type: Schema.Types.ObjectId
ref: 'User'}
}

并通过创建 EventType 对象在服务器端轻松访问它

var eventType = new EventType();
eventType.type = 'event'
eventType.eventID = //ObjectId of event doc

关于node.js - Mongoose 中的自定义模式类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664639/

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