NodeBB crash when using with mongoDB
-
Hello,
I have come to a dead end with this problem, as soon as I start nodeBB, it crashes with this error :
TypeError: undefined is not a function at Object.Notifications.init (D:\nuitInfo2013\forum\src\notifications.js:15:38) at D:\nuitInfo2013\forum\app.js:126:21 at D:\nuitInfo2013\forum\src\upgrade.js:26:4 at D:\nuitInfo2013\forum\src\database\mongo.js:309:4 at D:\nuitInfo2013\forum\src\database\mongo.js:342:4 at D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\collection\query.js:147:5 at Cursor.nextObject (D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\cursor.js:733:5) at commandHandler (D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\cursor.js:713:14) at D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\db.js:1806:9 at Server.Base._callHandler (D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\connection\base.js:442:41)
I am on Windows which may be one part of the problem.
Waiting for your answers, Best Regards,
Azgarreth -
Hey @Azgarreth -- I can't say I've ever come across this problem... perhaps some of the files were not correctly cloned into your working directory. Can you try deleting
D:\nuitInfo2013\forum
and runninggit clone
again? Let me know if there are any warnings or errors. -
I just deleted and cloned nodeBB again. I went through the installing process, I had one more step this time, it asked me to setup a new user for mongoDB since the install is fresh as well. It installed all schemas (I have done this the first time with --upgrade). I started nodeBB, and got the exact same error sadly.
Node version : 0.10.22 (x64)
MongoDB version : 2.4.8Thank you for your time,
Azgarreth -
@Azgarreth No clue why this would happen on your install
Can you add this line to
\src\notifications.js
, on line 14, right before the line that readsnew cron
?console.log('Notif Obj', Notifications.prune);
... then save, try running NodeBB again, and let me know what shows up right before the error.
-
Here is the full log :
Notif Obj function (cutoff) { if (process.env.NODE_ENV === 'development') { winston.info('[notifications.prune] Removing expired notifications from the database.'); } var today = new Date(), numPruned = 0; if (!cutoff) { cutoff = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7); } var cutoffTime = cutoff.getTime(); async.parallel({ "inboxes": function(next) { db.getSortedSetRange('users:joindate', 0, -1, function(err, uids) { if(err) { return next(err); } uids = uids.map(function(uid) { return 'uid:' + uid + ':notifications:unread'; }); next(null, uids); }); }, "expiredNids": function(next) { db.getSetMembers('notifications', function(err,nids) { async.filter(nids, function(nid, next) { db.getObjectField('notifications:' + nid, 'datetime', function(err, datetime) { if (parseInt(datetime, 10) < cutoffTime) { next(true); } else { next(false); } }); }, function(expiredNids) { next(null, expiredNids); }); }); } }, function(err, results) { if(err) { if (process.env.NODE_ENV === 'development') { winston.error('[notifications.prune] Ran into trouble pruning expired notifications. Stack trace to follow.'); winston.error(err.stack); } return; } async.eachSeries(results.expiredNids, function(nid, next) { db.sortedSetsScore(results.inboxes, nid, function(err, results) { if(err) { return next(err); } // If the notification is not present in any inbox, delete it altogether var expired = results.every(function(present) { return present === null; }); if (expired) { destroy(nid); numPruned++; } next(); }); }, function(err) { if (process.env.NODE_ENV === 'development') { winston.info('[notifications.prune] Notification pruning completed. ' + numPruned + ' expired notification' + (numPruned !== 1 ? 's' : '') + ' removed.'); } }); }); } D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\connection\base.js:242 throw message; ^ TypeError: undefined is not a function at Object.Notifications.init (D:\nuitInfo2013\forum\src\notifications.js:16:38) at D:\nuitInfo2013\forum\app.js:126:21 at D:\nuitInfo2013\forum\src\upgrade.js:26:4 at D:\nuitInfo2013\forum\src\database\mongo.js:309:4 at D:\nuitInfo2013\forum\src\database\mongo.js:342:4 at D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\collection\query.js:147:5 at Cursor.nextObject (D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\cursor.js:733:5) at commandHandler (D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\cursor.js:713:14) at D:\nuitInfo2013\forum\node_modules\mongodb\lib\mongodb\db.js:1806:9 at Server.Base._callHandler (D:\nuitInfo2013\forum\node_modules\mongodb\lib\ mongodb\connection\base.js:442:41)