几天前,我已经创建了MongoDB视图。现在,我想再次看看它。 (我编写的用于创建视图的查询)。有可能吗?
我尝试使用collmod函数db.runCommand( { collMod: 'viewName'})
,但它只是返回'Ok'作为响应。
我从几个小时开始寻找它,但是没有运气。
答案 0 :(得分:0)
您可以使用db.getCollectionInfos()
方法。有关详细说明,请参见manual for the method。
例如:
> db.createView('testview', 'test', {$project: {a:1, b:1}})
> db.getCollectionInfos({name:'testview'})
[
{
"name": "testview",
"type": "view",
"options": {
"viewOn": "test",
"pipeline": [
{
"$project": {
"a": 1,
"b": 1
}
}
]
},
"info": {
"readOnly": true
}
}
]
视图定义显示在pipeline
字段下。
请注意,您还可以按type: 'view'
进行过滤,以显示数据库中所有视图的定义:
> db.getCollectionInfos({type:'view'})
[
{
"name": "testview",
"type": "view",
"options": {
"viewOn": "test",
"pipeline": [
{
"$project": {
"a": 1,
"b": 1
}
}
]
},
"info": {
"readOnly": true
}
},
{
"name": "testview2",
"type": "view",
"options": {
"viewOn": "test",
"pipeline": [
{
"$group": {
"_id": null,
"count": {
"$sum": 1
}
}
}
]
},
"info": {
"readOnly": true
}
}
]