Как узнать, какие конвейеры были использованы для создания представления? - PullRequest
0 голосов
/ 28 мая 2018

Что такое команда оболочки для определения того, какие конвейеры были использованы для создания определенного представления?Версия MongoDB - 3.6.4

Также есть ли способ получить конвейеры с помощью драйвера .net версии 2.6.1?

1 Ответ

0 голосов
/ 28 мая 2018

Можно использовать db.getCollectionInfos() и при необходимости указать условие «фильтра» в качестве запроса.

Например:

// Insert Collection
db.test.insert({ "a": 1 })

// Create a view
db.createView("testView", "test", [{ "$match": { } }]);


// Get the information
db.getCollectionInfos({ "name": "testView" })
[
        {
                "name" : "testView",
                "type" : "view",
                "options" : {
                        "viewOn" : "test",
                        "pipeline" : [
                                {
                                        "$match" : {

                                        }
                                }
                        ]
                },
                "info" : {
                        "readOnly" : true
                }
        }
]

Обратите внимание, что "name" соответствует определенной коллекции, и вы можете даже фильтровать "view" в поле "type", чтобы получить все представления.Конвейер четко отображается в возвращаемом выводе.

Обратите внимание также, что этот "метод оболочки" просто переносит системную команду listCollections.У большинства драйверов есть какой-то вариант этого метода для объекта «база данных», или они могут просто вызвать команду с параметрами.

...