Je cours mon mongodb dans virtualbox en utilisant vagabond. J'essaie de me connecter à la base de données sur ma machine hôte en utilisant node.js, mais une erreur étrange se produit lorsque j'essaie de le faire. C'est le code que je cours.throw err lors de la connexion à mongodb dans VM en utilisant node.js
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:6600/test";
MongoClient.connect(url, function(err, db){
if (err){
throw err;
}
console.log("Database created!");
db.close();
});
Cette erreur est affichée dans la ligne de commande.
C:\Users\Morgan\Desktop\testingGrounds>node createMongoDB.js
C:\Users\Morgan\Desktop\testingGrounds\node_modules\mongodb\lib\mongo_client.js:421
throw err
^
[object Object]
Et ceci est une partie pertinente du fichier Vagrantfile.
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080
# nginx
config.vm.network "forwarded_port", guest: 80, host: 6600
# # development site
config.vm.network "forwarded_port", guest: 3000, host: 6660
# db browser port
config.vm.network "forwarded_port", guest: 7474, host: 6666
# test port
config.vm.network "forwarded_port", guest: 8800, host: 6606
Il y a probablement une erreur plus spécifique que vous ne montrez pas, ou peut-être devriez-vous essayer 'console.error (err)' à la place pour mieux voir si ne pas. Mais 'config.vm.network" forwarded_port ", invité: 3000, hôte: 6660' semble indiquer que vous transférez du port' 80' à votre '6600' local, et MongoDB s'exécute sur le port' 27017' par défaut. Donc, sauf si vous l'avez spécifiquement assigné au port '80' (et vous ne l'avez probablement pas fait) alors vous vous connectez au mauvais port, et même fondamentalement avoir la mauvaise redirection de port mis en place. –