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

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

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

      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 Eliot Horowitz (Inactive)
            Reporter:
            bernie@mongodb.com Bernie Hackett
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: