Можно ли использовать MongoDB Views с Azure CosmosDB? - PullRequest
0 голосов
/ 08 марта 2019

Я пытался создать представление через Robo3T.Команда выполняется успешно, но представление всегда пустое, независимо от того, как я указываю конвейер агрегации для представления.Пример:

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

Поддерживает ли CosmosDB даже представления для MongoDB?


Редактировать: как спросил Кевин Смит в комментариях 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 Ответ

1 голос
/ 08 марта 2019

Из данных, которые вы предоставили, похоже, что он рассматривает представление как просто другую коллекцию, и ничего не происходит, когда вы создаете представление (я видел это с другими командами, оно просто продолжается без каких-либо ошибок).

Когда вы вызываете статистику в представлении, вы обычно получаете следующее

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

Кроме того, просматривая документацию (https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-feature-support#administration-commands) Команды администрирования не поддерживают createView.

...