在 MongoDB 中存储文档的正确方法

Proper way to store documents in MongoDB

我对 MongoDB 提出同样的问题已经很长时间了。所以我正在尝试为邀请我的不和谐机器人加入他们的行会的用户存储一些用户数据。它根据公会 ID 和用户 ID 存储它们,因为一个用户可以在多个服务器中使用相同的机器人。我想知道为每个公会制作一个文档并将每个用户添加到该文档是否正确,或者我应该为每个用户制作一个带有公会 ID 密钥和用户 ID 密钥的单独文档。

例如,我已将 2 张照片附加到此 post,第一张是一个文档,其中“用户”字段嵌套到一个对象中,该对象的键是用于查询的公会 ID。第二个为每个用户提供一个单独的文档,并使用单独的“用户 ID”和“公会 ID”键进行查询。

Single Document File

Multi Document File

感谢您提供的所有帮助。提前谢谢你。

这是您可以做什么的想法。通过这种方式,您可以按照自己喜欢的方式获取数据和聚合,并且不会有任何不必要的嵌套。简单灵活

// Guild Schema

{
  guildId: Number,
  guildName: String,
  other: String
}

// User Schema

{
  userId: Number,
  guild: {
    type: Schema.Types.ObjectId,
    ref: "Guild"
  },
  userInfo:{
    name: String,
    address: String,
    other: String
  }
}