Можно использовать 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
.У большинства драйверов есть какой-то вариант этого метода для объекта «база данных», или они могут просто вызвать команду с параметрами.