节点js mongodb模块嵌入文件

时间:2015-11-19 14:07:25

标签: javascript node.js mongodb

我正在使用节点模块" mongodb"并开始使用它的架构架构。我阅读了mongodb模块的文档,发现我无法在文档中存储对其他文档的引用。我想实现以下目标:

DocumentA
{
_id: ObjectID(123456789),
fieldA1: "test",
fieldA2: "test",
DocumentB: <ObjectId>
}

DocumentB
{
_id: ObjectID(09876543),
fieldB1: "test2",
fieldB2: "test2"
}

我想通过ObjectID(123456789)查询DocumentA并获取DocumentB,以便我可以访问该值,如果&#34; fieldB2&#34; &安培; &#34; fieldB1&#34 ;. 这可以在节点js mongodb中做吗?如果是,那么请给我一些知识或者给我另一个解决方案(比如,查询内部对象好吗?)

1 个答案:

答案 0 :(得分:2)

Mongo确实支持references的概念,但它们是非常弱的引用。对您的参考资料没有任何限制,因此可能完全无效。

我认为您有两个概念缺失:

  1. Mongo没有&#39;加入&#39;的概念。它只不在他们的范例中。
  2. 相反,Mongo倾向于嵌入文档。因此,在您的情况下,您可以
  3. 而不是拥有2个文档

    DocumentA
    {
    _id: ObjectID(123456789),
    fieldA1: "test",
    fieldA2: "test",
    DocumentB: {
        fieldB1: "test2",
        fieldB2: "test2"
        }
    }
    

    然后,您可以查询文档A并使用文档B执行任何组合逻辑,因为它位于文档A