Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-142

Read-only views over collection data.

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.12
    • Affects Version/s: None
    • Component/s: Usability
    • Labels:
      None
    • Storage Execution
    • Fully Compatible

      Issue Status as of Aug 31, 2016

      ISSUE SUMMARY
      MongoDB 3.3.12 adds support for creating read-only views over existing collections or other views. To specify or define a view, MongoDB introduces the viewOn and pipeline options to the existing create command:

      db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline> } )
      

      In addition, there's also a mongo shell helper db.createView():

      db.createView(<view>, <source>, <pipeline>)

      Views are readable via the following commands:

      For more information views, as well as examples, please see the Read-only Views documentation.

      Original description

      Support for read-only views will consist of providing a mechanism for binding a namespace name to a (namespace name, query) pair, where the query might be a MongoDB query or an aggregation expression. For example, if you had a collection "housing.apartments", you might create a view

      housing.cheapApartments = (housing.apartments, { rent: { $lte: 1000 } })
      

      Finds on cheapApartments would only consider those elements of housing.apartments where the "rent" field was less than 1000.

      By using an aggregation expression with an unwind stage, you could produce a view over a database that had one document for every member of an array in an input document, providing another means to examine and query embedded documents.

            Votes:
            318 Vote for this issue
            Watchers:
            192 Start watching this issue

              Created:
              Updated:
              Resolved: