Question

Je vais avoir du mal à obtenir ces 3 paquets à installer et à travailler ensemble. Voici les étapes de mon travail:

  1. nodejs installés 0.6.3 sur la base des instructions ici pour Linux (j'ai téléchargé la boule de goudron sur le site, par opposition à l'utilisation de la distro dans git): https://github.com/joyent/node/wiki/Installation
  2. NPM installé avec le onliner INSTALL ici: http://npmjs.org/
  3. les paquets installés pour MongoDB de NPM, mongojs et mangouste. Tous semblent installer comme prévu.
  4. créé un petit programme pour tester et obtenir l'exception suivante:

    Error: Cannot find module 'mongodb/bson'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (/local/mnt/apps/node-v0.6.3/app.js:6:16)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)
    

bson.js apparaît sous ce répertoire pour moi: / opt / node / node_modules / MongoDB / lib / MongoDB / BSON

J'ai essayé régler cette ligne de code pour correspondre à celui et toujours sans succès:

var mongoose = require('mongoose').Mongoose,
ObjectID = require('mongodb/bson').ObjectID;

Toute idée de ce que je pourrais faire mal? Juste pour clarifier, ai-je besoin de construire chaque NPM installer ou je ne NPM téléchargé faire?

TIA!

Était-ce utile?

La solution

mongodb\bson pas de module, où avez-vous cet exemple de?

L'utilisation normale de mongo dans Node.js est atteint par:

var mongoose = require('mongoose');
var mongodb = require('mongodb');

Maintenant, vous pouvez vous connecter via

mongoose.connect("url");

Lorsque vous essayez de récupérer la fonction ObjectID vous ne devriez pas compter sur mongodb mais mongoose via:

var schema = mongoose.Schema,
    objectId = schema.ObjectId;

S'il vous plaît lire Mongoose documentation .

Autres conseils

Il est possible que vous avez installé MongoDB dans le mauvais répertoire pour votre projet. Une bonne façon d'éviter ce genre de problèmes est d'utiliser un fichier package.json.

Créez un répertoire pour votre projet de nœud et déplacez votre fichier .js en elle. Ajouter un fichier appelé package.json avec ce contenu:

{  
   "name": "application-name",
   "private": true,
   "dependencies": {
      "mongodb": ">=0.9.6-7",
      "mongoose": ">=0.0.1"
    }
}

Vous pouvez suivre le modèle d'ajouter vos autres dépendances si nécessaire.

Ensuite, à partir de ce répertoire, exécutez 'NPM install'. Il installera toutes les dépendances pour votre application. De là, votre application devrait fonctionner correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top