Skip to content

v4.0.0 Upgrade Support

Uncategorized
  • Just upgraded to 4.0.5 from 3.x (I think it was the latest 3.12.4)

    The following error occurred

    4. Updating NodeBB data store schema...
    Parsing upgrade scripts...
    OK | 6 script(s) found, 145 skipped
      → [2024/11/25] Add website and location as custom profile fields... OK (0.01 seconds)
      → [2024/12/2] Add setting for keeping original image after resize... OK (0.00 seconds)
      → [2024/2/22] Setting up default configs/privileges re: ActivityPub... OK (0.30 seconds)
      → [2024/11/28] Regenerate user slugs for users whose usernames contained periods...
        [##############] (25/25) 100%  OK (0.01 seconds)
      → [2025/1/27] Changing integer search indices to string...
        [##############] (3659/3659) 100%  OK (4.21 seconds)
      → [2025/2/18] Add timestamp field to searchtopic searchpost collections...Error occurred
    Error occurred during upgrade: MongoServerError: Projection cannot have a mix of inclusion and exclusion.
        at Connection.sendCommand (/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js:296:27)
        at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
        at async Connection.command (/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js:323:26)
        at async Server.command (/home/nodebb/nodebb/node_modules/mongodb/lib/sdam/server.js:170:29)
        at async FindOperation.execute (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/find.js:36:16)
        at async tryOperation (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js:203:20)
        at async executeOperation (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js:73:16)
        at async FindCursor._initialize (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/find_cursor.js:60:26)
        at async FindCursor.cursorInit (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js:607:27)
        at async FindCursor.fetchBatch (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js:641:13)
    2025-02-27T01:21:41.642Z [4567/150701] - error: uncaughtException: Projection cannot have a mix of inclusion and exclusion.
    MongoServerError: Projection cannot have a mix of inclusion and exclusion.
        at Connection.sendCommand (/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js:296:27)
        at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
        at async Connection.command (/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js:323:26)
        at async Server.command (/home/nodebb/nodebb/node_modules/mongodb/lib/sdam/server.js:170:29)
        at async FindOperation.execute (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/find.js:36:16)
        at async tryOperation (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js:203:20)
        at async executeOperation (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js:73:16)
        at async FindCursor._initialize (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/find_cursor.js:60:26)
        at async FindCursor.cursorInit (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js:607:27)
        at async FindCursor.fetchBatch (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js:641:13) {"date":"Thu Feb 27 2025 12:21:41 GMT+1100 (Australian Eastern Daylight Time)","error":{"code":2,"codeName":"BadValue","errorResponse":{"code":2,"codeName":"BadValue","errmsg":"Projection cannot have a mix of inclusion and exclusion.","ok":0},"ok":0},"exception":true,"os":{"loadavg":[1.08,0.39,0.18],"uptime":1031967.39},"process":{"argv":["/usr/bin/node","/home/nodebb/nodebb/nodebb","upgrade"],"cwd":"/home/nodebb/nodebb","execPath":"/usr/bin/node","gid":1001,"memoryUsage":{"arrayBuffers":19486426,"external":24049422,"heapTotal":104038400,"heapUsed":70664672,"rss":197357568},"pid":150701,"uid":1001,"version":"v22.14.0"},"stack":"MongoServerError: Projection cannot have a mix of inclusion and exclusion.\n    at Connection.sendCommand (/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js:296:27)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async Connection.command (/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js:323:26)\n    at async Server.command (/home/nodebb/nodebb/node_modules/mongodb/lib/sdam/server.js:170:29)\n    at async FindOperation.execute (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/find.js:36:16)\n    at async tryOperation (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js:203:20)\n    at async executeOperation (/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js:73:16)\n    at async FindCursor._initialize (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/find_cursor.js:60:26)\n    at async FindCursor.cursorInit (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js:607:27)\n    at async FindCursor.fetchBatch (/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js:641:13)","trace":[{"column":27,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js","function":"Connection.sendCommand","line":296,"method":"sendCommand","native":false},{"column":5,"file":"node:internal/process/task_queues","function":"process.processTicksAndRejections","line":105,"method":"processTicksAndRejections","native":false},{"column":26,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/cmap/connection.js","function":"async Connection.command","line":323,"method":"command","native":false},{"column":29,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/sdam/server.js","function":"async Server.command","line":170,"method":"command","native":false},{"column":16,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/operations/find.js","function":"async FindOperation.execute","line":36,"method":"execute","native":false},{"column":20,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js","function":"async tryOperation","line":203,"method":null,"native":false},{"column":16,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/operations/execute_operation.js","function":"async executeOperation","line":73,"method":null,"native":false},{"column":26,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/find_cursor.js","function":"async FindCursor._initialize","line":60,"method":"_initialize","native":false},{"column":27,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js","function":"async FindCursor.cursorInit","line":607,"method":"cursorInit","native":false},{"column":13,"file":"/home/nodebb/nodebb/node_modules/mongodb/lib/cursor/abstract_cursor.js","function":"async FindCursor.fetchBatch","line":641,"method":"fetchBatch","native":false}]}
    

    I know nothing about mongodb so have no clue to the cause of this issue.

  • @jaromanda please install nodebb-plugin-dbsearch@6.2.13 and try again. Let me know if the upgrade script works.

  • @baris No, that made no difference