可以将MongoDB视图与Azure CosmosDB一起使用吗?

时间:2019-03-08 09:15:43

标签: azure-cosmosdb azure-cosmosdb-mongoapi database-view

我试图通过Robo3T创建一个视图。该命令成功执行,但是无论我如何为视图指定聚合管道,该视图始终为空。 示例:

db.createView("testView","originCollection", [{
    $project : {
        _id: 1
    } 
}])

CosmosDB甚至支持MongoDB的视图吗?


编辑:正如凯文·史密斯(Kevin Smith)在评论中问到的db.testView.stats()返回:

{
    "_t" : "CollStatsResponse",
    "ok" : 1,
    "ns" : "myDb.testView",
    "count" : 0.0,
    "size" : 0,
    "avgObjSize" : 0,
    "numExtents" : 0,
    "lastExtentSize" : 0,
    "paddingFactor" : 0,
    "systemFlags" : 0,
    "userFlags" : 0,
    "totalIndexSize" : 0,
    "indexSizes" : {
        "indexSizes" : {}
    }
}

1 个答案:

答案 0 :(得分:1)

从您提供的详细信息来看,它似乎将视图视为另一个集合,并且在创建视图时没有任何反应(我已经看到了其他命令,它只是继续执行而没有任何错误)。

在视图上调用统计信息时,通常会得到以下结果

db.testView.stats()
{
    "ok" : 0,
    "errmsg" : "Namespace test.testView is a view, not a collection",
    "code" : 166,
    "codeName" : "CommandNotSupportedOnView"
}

此外,请查看管理命令不支持createView的文档(https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-feature-support#administration-commands)。