1. 程式人生 > >View(視圖 MongoDB 文檔翻譯和解讀)

View(視圖 MongoDB 文檔翻譯和解讀)

.com reat tor 列表 comm ner create man 文檔翻譯

  從 3.4 版本開始,MongoDB 增加了從從現有集合或者其它視圖中創建只讀視圖的支持。 

一、 創建視圖

  在 MongoDB 3.4 中,創建或者定義一個視圖的介紹如下:

  • 含有 viewOnpipeline 屬性選項的 create 命令(以及 db.createCollection helper ):
db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>} )

或者為這個視圖指定一個默認的 collation 排序規則 :

db.runCommand ( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )
  • 一個新的 mongo shell 命令 db.createView() :
db.createView(<view>, <source>, <pipeline>, <collation> )

二、 視圖的特性/性能

  視圖表現出以下行為:

  • 只讀
      視圖是只讀的;在視圖上進行寫操作會報錯。
      下面這些讀操作同樣支持視圖:

       - db.collection.find()
    - db.collection.findOne()
    - db.collection.aggregate()
    - db.collection.count()
    - db.collection.distinct()

  • 索引使用和排序操作

    • 視圖使用基礎集合的索引。
    • 由於索引是在基礎集合基礎上,因此不能直接在視圖上創建、除去或者重新生成索引,也不能在視圖上獲取索引列表。
    • 你不能在視圖上指定 $natural 自然排序
  • 投影限制
      find() 命令在對視圖操作時不支持以下的 投影符:

    • $
    • $elemMatch
    • $slice
    • $meta
  • 名稱不可變
      你不能對視圖進行重命名.



來自為知筆記(Wiz)

View(視圖 MongoDB 文檔翻譯和解讀)