findAndModify return value inconsistent between 2.0.x and 2.1.2 when using upsert

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Done
    • Priority: Major - P3
    • 2.2.0-rc0
    • Affects Version/s: 2.1.2
    • Component/s: None
    • Minor Change
    • ALL
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Found this while testing PyMongo against 2.1.2. In 2.0.x mongod returns {'ok': 1.0, 'value': {}}, in 2.1.2 it returns

      {'ok': 1.0, 'value': null}

      .

      MongoDB shell version: 2.0.6
      connecting to: test
      > db.test.findAndModify({query: {'_id': 1}, update: {'$inc': {'i': 1}}, upsert: true})
      { }
      
      MongoDB shell version: 2.1.2
      connecting to: test
      > db.test.findAndModify({query: {'_id': 1}, update: {'$inc': {'i': 1}}, upsert: true})
      null
      

      This will cause problems for code that expects a document as return value.

              Assignee:
              Eliot Horowitz (Inactive)
              Reporter:
              Bernie Hackett
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: