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

positional operator projection does not work with find and modify

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Querying
    • Fully Compatible
    • ALL
    • Quint Iteration 3.1.2, Quint Iteration 3

      The match details aren't passed in when find and modify calls transform() so positional operator projection doesn't work yet.

      c = db.c;
      c.drop();
      
      c.save( { a:[ 1, 2 ] } );
      
      // Does the expected projection.
      printjson( c.find( { a:2 }, { 'a.$':1 } ).toArray() );
      
      // Doesn't do the expected projection.
      printjson( c.findAndModify( { query:{ a:2 }, fields:{ 'a.$':1 }, remove:true } ) );
      

            Assignee:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Reporter:
            aaron Aaron Staple
            Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: