是否可以在mongodb中查看视图?

问题描述 投票:1回答:1

我正在尝试使用带有$ lookup阶段的聚合构建一个新的mongodb视图,该阶段连接到我构建的mongodb视图。

以下是我的视图中名为myPreferencesView的结果输出示例:

{ 
    "_id" : ObjectId("58c3127b30abaf0d1ae38235"), 
    "name" : "Preference 1", 
    "pointValue" : NumberInt(12), 
    "description" : "This is the desc for preference #1"
},
{ 
    "_id" : ObjectId("58c3127b30abaf0d1ae38234"), 
    "name" : "Preference 2", 
    "pointValue" : NumberInt(10), 
    "description" : "This is the desc for preference #2"
}

这是我尝试的$ lookup语法:

    $lookup:
    {
        from: "myPreferencesView (on: myPreferenceCollection)",
        localField: "preference",
        foreignField: "_id",
        as: "pref"
    }

我得到的结果如下:

{ 
    "_id" : ObjectId("58c3127b30abaf0d1ae3822f"), 
    "preference" : ObjectId("58c3127b30abaf0d1ae38232"), 
    "pref" : [
    ]
}

我得到一个空的pref数组。我首先想知道,聚合或视图可以在mongodb视图上执行$ lookup。

其次,需要特殊的语法吗?

我已尝试对上面列出的查找语法进行一些不同的调整。大多数这些尝试显然是错误的,因为它们没有产生可行的结果。上面的语法似乎“不会中断”,但它也不会产生所需的输出。

mongodb aggregation-framework
1个回答
0
投票

事实证明,原始问题中发布的语法很好,它确实有效。我遇到的问题是我在$ lookup阶段指定的“子视图”名称有一个外壳问题。

© www.soinside.com 2019 - 2024. All rights reserved.