组的猫鼬模式(一组中的多个用户)

Mongoose Schema for Groups (a number of users in one group)

我网站的一个方面是人们可以根据提供给他们的特定代码加入群组,例如-当我们玩 'Kahoot' 或 'Psych' 时,我们必须提供特定代码加入游戏,在这里,我使用相同的逻辑将用户加入一个组。对于不知道我在说什么的人:我将生成一个 3 字代码,比如 'absent agitated alive',用户将在 'Join Group' 部分输入相同的内容,然后他可以输入组.

我想知道如何为不同的组创建架构以及如何将组与用户关联起来。

这是我当前的用户架构:

const mongoose=require('mongoose')
const UserSchema=new mongoose.Schema({

googleId:{
    type:String,
    required:true,
    
},

displayName:{
    type:String,
    required:true,

},

firstName:{
    type:String,
    required:true,

},

lastName:{
    type:String,
    required:true,

},

image:{
    type:String
    

},

createdAt:{
    type:Date,
    default:Date.now
}})module.exports=mongoose.model('User',UserSchema)

我想知道如何制作群组架构。 这是我目前的群组架构:

const mongoose = require("mongoose");
const GroupsSchema = new mongoose.Schema({

title: {
type: String,
required: true,
},

grp_code: {
type: String,
required: true,
},

users: {
type: mongoose.Schema.Types.ObjectId,
ref: "User",
},

createdAt: {
type: Date,
default: Date.now,
},
});

module.exports = mongoose.model("Group", GroupsSchema);

我想将群组数据库中的'users'文档做成一个数组,存储所有加入群组的用户的id。我不知道该怎么办,请帮忙

你可以使用:

users: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
}],

定义一组用户