Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-1939

Add an aggregation expression to convert an object to an array of key, value pairs

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Backlog
    • Major - P3
    • Resolution: Unresolved
    • None
    • None
    • API
    • None

    Description

      In many cases, it would be useful to convert an object to an array. We should add an aggregation expression to do so. For example, it could be called $objectToArray, and do something like this:

      > db.foo.insert({_id: 0, subDoc: {a: 1, b: 3, c: "example"}});
      > db.foo.aggregate([{$project: {expanded: {$objectToArray: "$subDoc"}}}])
      {_id: 0, expanded: [{k: "a", v: 1}, {k: "b", v: 3}, {k: "c", v: "example"}]}
      

      Original Description

      Currently, if a collection contains the following document:

      {_id: 0, data: {a: 1, b: 2, c: 3}}
      

      There is no way to unwind that one document into the following three documents:

      {_id: 0, data: {a: 1}}
      {_id: 0, data: {b: 2}}
      {_id: 0, data: {c: 3}}
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rathi.gnanasekaran Rathi Gnanasekaran
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: