在MongoDB中实现关联

时间:2014-09-10 15:59:38

标签: mongodb bigdata database nosql

我需要在MongoDB中实现对象之间的关联,以允许从任何级别进行检索查询。假设我有一个模型 Account-> Application-> Device-> users 。假设我想使用帐户引用查询用户集合,或者从我想要查询用户的任何层次结构中查询。

由于我们不支持连接,因此我无法保留单独的关联集合,即使我保留了一个关联集合,我将不得不进行一系列查询,并且关联集合的输出可能是一个庞大的对象集合,我将留下两个选项来使用

  1. 对数组中的每个对象进行迭代查询

  2. 在运营商中使用$

  3. 如果阵列很大,

    都是灾难性的。

    我已经找到了一种保存祖先树的方法,如跟随文档。

    {
        _id: ObjectId(""),
        Name:"",
        Timestamp:ISODate(" "),
        ...
        ancestors :[{_id:ObjectId(""),..},{_id:ObjectId(""),..},{_id:ObjectId(""),..}]
    }
    

    假设这是带有祖先的用户文档,如deviceId,applicationId,accountId。 我不确定它会有多大用处。 我确信上述模型的一件事是,如果添加更新中的任何新级别将是一个痛苦。

    我想要实现此模型的主要原因是实现松耦合模型。

    谢谢你提前!!!

0 个答案:

没有答案