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

countDocuments throws an error when matching 0 document

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Minor Change
    • Operating System:
      ALL
    • Backport Requested:
      v4.2, v4.0
    • Steps To Reproduce:
      Hide

      ```

      use count

      db.count.insert([\{a: 1}, \{a: 2}])

      db.count.count({a:1}) // returns 1

      db.count.count({a:3}) // returns 0

      db.count.countDocuments({a:1}) // returns 1

      db.count.countDocuments({a:3}) // throws an exception

      ```

      Show
      ``` use count db.count.insert( [\{a: 1}, \{a: 2}] ) db.count.count({a:1}) // returns 1 db.count.count({a:3}) // returns 0 db.count.countDocuments({a:1}) // returns 1 db.count.countDocuments({a:3}) // throws an exception ```

      Description

      `countDocuments` throws an error when matching 0 document.

      I would have expected it to follow what `count` does, which is return 0.

      With both versions `4.0.3` and `4.1.4` (haven't checked intermediary ones), the error I get from the bellow `steps to reproduce` is:

      2018-10-20T16:26:44.252+0100 E QUERY [js] TypeError: res[0] is undefined :
       DBCollection.prototype.countDocuments@src/mongo/shell/collection.js:1418:5
       @(shell):1:1
       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jesse A. Jesse Jiryu Davis
              Reporter:
              Xavier Guihot Xavier Guihot [X] (Inactive)
              Participants:
              Votes:
              2 Vote for this issue
              Watchers:
              11 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: