Próbuję połączyć się z moim mongodb używając nodejs i socket.io. Jestem w stanie połączyć się z bazą danych, ponieważ otrzymuję „połączenie zaakceptowane” w moim konsoli ale na nodejs boku, jak tylko - w istocie - dostać'process.nextTick (function() {throw err;})' - Undefined nie jest funkcją (mongodb/mangusta)
Connection to mongodb://localhost:27017 established through mongoose
razu nie dalej z
process.nextTick(function() { throw err; }) ^TypeError: undefined is not a function at showCollections**
I tu idzie showCollections:
var showCollections = function(db, callback) {
mongoose.connection.db.collectionNames(function(error, names) {
if (error) {
throw new Error(error);
} else {
console.log("=>Listening mongo collections:");
names.map(function(cname) {
mongoose.connection.db.dropCollection(cname.name);
console.log("--»"+cname.name);
});
}
});
}
A oto treść mojego folderu bazy:
_tmp (empty folder)
local.0
local.ns
mongod.lock
Uruchamiam mongodb wpisując mongod --dbpath folder i pomyślnie "oczekuje połączeń na porcie 27017".
Również moi node_modules z package.json (npm)
"dependencies": {
"express": "^4.9.6",
"socket.io": "latest",
"mongodb": "~2.0",
"mongoose": "*"
}
Dziękuję bardzo za pomoc ...
StackTrace:
> TypeError: undefined is not a function
> at showCollections (/usr/share/nginx/www/index.js:77:25)
> at NativeConnection.callback (/usr/share/nginx/www/index.js:46:3)
> at NativeConnection.g (events.js:199:16)
> at NativeConnection.emit (events.js:104:17)
> at open (/usr/share/nginx/www/node_modules/mongoose/lib/connection.js:485:10)
> at NativeConnection.Connection.onOpen (/usr/share/nginx/www/node_modules/mongoose/lib/connection.js:494:5)
> at /usr/share/nginx/www/node_modules/mongoose/lib/connection.js:453:10
> at /usr/share/nginx/www/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:59:5
> at /usr/share/nginx/www/node_modules/mongoose/node_modules/mongodb/lib/db.js:200:5
> at connectHandler (/usr/share/nginx/www/node_modules/mongoose/node_modules/mongodb/lib/server.js:272:7)
EDIT:
Ja także mając te problemy podczas próby uruchomienia nodejs instancję:
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
Próbowałem mocując je jako inne pytania tutaj powie, ale nic nie działało albo ...
Czy możesz opublikować rzeczywisty ślad stosu, który zostanie wydrukowany? To powinno Ci powiedzieć * gdzie * w 'showCollections()' pochodzi błąd. – mscdex
@mscdex Jak mogę wydrukować ślad stosu? czy ma być domyślnie drukowany? – Fane
Tak, powinna była zostać wyświetlona pod pojawieniem się TypeError. – mscdex