【问题标题】:Relationiship in mongoMongoDB中的关系
【发布时间】:2020-10-08 06:34:25
【问题描述】:

我是 mongo 的新手。在制作应用程序时,我遇到了一个奇怪的要求。 我有集合 DocumentUserData。两者的架构如下所示。

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


    【解决方案1】:

    将 user_id 保留在 Schema 中,

    在发送响应对象时,通过从数据库中检索它来添加用户。

    【讨论】:

    • 但这会对数据库进行两次调用,我想避免这种情况
    猜你喜欢
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2014-08-04
    • 2012-05-24
    • 1970-01-01
    • 2019-02-22
    • 2019-10-18
    • 2020-12-05
    相关资源
    最近更新 更多