【发布时间】:2020-10-08 06:34:25
【问题描述】:
我是 mongo 的新手。在制作应用程序时,我遇到了一个奇怪的要求。 我有集合 Document 和 UserData。两者的架构如下所示。
Document {
data : String ,
id : number,
lockedBy : Users
}
Users{
name : String,
email : String,
id : String
}
所以这里基本上用户可以为自己锁定一个文档,没有人可以访问它。
这里的问题是我不想将整个用户数据保存在文档中,因为它会创建大量冗余数据。我想保存用户的id。
但在 ui 方面,要求是给整个用户对象(包含 id、name、email)作为lockedBy 的值。
我所做的是将lockedBy 保存为带有用户ID 的字符串。然后在获取时,我通过再次调用数据库并根据 id 获取用户数据来用用户数据替换lockedBy。
随着获取和保存 api 数量的增加,我不得不在很多地方进行转换。有没有办法以不同的方式解决这个问题。我不必为lockedBy编写转换代码的地方是字符串到UserData,反之亦然。
【问题讨论】:
标签: mongodb express mongoose mean-stack mongoose-schema