更新文档数据库中的嵌入数据(MongoDB)

时间:2016-02-23 13:52:58

标签: c# mongodb nosql

我正在使用MongoDB C#驱动程序NuGet包尝试与ASP.NET相关的MongoDB。我认为在掌握文档数据库的数据建模的一个方面时遇到了问题。最大的问题是如何在各个馆藏中更新数据。

假设我们有两个收藏集,用户和帖子。所有用户都将存在于User集合中。用户可以创建许多帖子,但我希望在处理帖子时,可以从数据库中轻松选择用户信息。这就是我看到许多数据库设计在用户文档中嵌入用户文档,以及在用户集合中具有用户文档的地方。

我的问题是:如何在两个集合中更新用户数据? IE浏览器。如果我要更新用户年龄或名称,我如何确保嵌入式用户也得到更新?

另一种解决方案是在每个帖子上简单地存储UserId,但我只看到很多人们嵌入文档的设计,从而在集合中创建重复数据。

这是来自用于思考RDBMS的大脑,所以请保持温和。 Post和User之间的关系非常简单,但我无法弄清楚你在NoSQL模型中通常会怎么做。

示例:

发表:

{
    "_id": "56cc5fca4b4c7818fc9363d3",
    "title": "test title",
    "User": {
        "_id": "56cc3a314b4c78191434424c",
        "name": "Thomas",
        "age": 23
    }
}

用户:

{
    "_id": "56cc3a314b4c78191434424c",
    "name": "Thomas",
    "age": 23
}

0 个答案:

没有答案