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

Updates fail when zero-length keys exist

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: 2.0.3
    • Component/s: None
    • Labels:
    • ALL

      This was reported in SERVER-2051, but appears to be a bug of its own (although the problem might be masked if the change in that ticket was made):

      > db.left.insert(

      {field1: "whatever", "": null}

      )
      > db.left.update(

      {"field1": "whatever"}

      , {$set: {"field2": "test"}}, false, true)
      LEFT_SUBFIELD only supports Object: not: 10

      On a quick look at the source, it looks like the result of compareDottedFieldNames is incorrect when r is the null string.

      Probably related:

      > db.left.insert(

      {field1: "whatever"}

      )
      > db.left.update(

      {"field1": "whatever"}

      , {$set: {"": "test"}}, false, true)
      ModSet::createNewFromMods - RIGHT_SUBFIELD should be impossible

            Assignee:
            Unassigned Unassigned
            Reporter:
            glenn Glenn Maynard
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: