Domanda

Sto avendo difficoltà a raggiungere questi 3 pacchetti da installare e lavorare insieme. Ecco i passi che ho preso:

  1. nodejs installati 0.6.3 in base alle istruzioni qui per Linux (ho scaricato la palla di catrame dal sito anziché utilizzare la distro in git): https://github.com/joyent/node/wiki/Installation
  2. NPM installato utilizzando il onliner install trovato qui: http://npmjs.org/
  3. pacchetti NPM installati per MongoDB, mongojs e manguste. Tutti sembrano installare come previsto.
  4. Creato un piccolo programma per testare e ottenere la seguente eccezione:

    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 appare in questa directory per me: / opt / node / node_modules / mongodb / lib / mongodb / BSON

Ho provato regolando questa riga di codice in modo che corrisponda e ancora nessun successo:

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

Qualsiasi idea di quello che potrebbe essere sbagliato? Giusto per chiarire, ho bisogno di costruire ogni NPM installare ho scaricato o se NPM farlo?

TIA!

È stato utile?

Soluzione

mongodb\bson è alcun modulo, dove hai preso questo esempio da?

L'uso normale di Mongo in node.js si ottiene:

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

Ora è possibile connettersi tramite

mongoose.connect("url");

Quando si cerca di recuperare la funzione ObjectID non si dovrebbe fare affidamento su mongodb ma su mongoose via:

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

Si prega di leggere il Mongoose documentazione .

Altri suggerimenti

E 'possibile che si è installato nella directory MongoDB sbagliato per il vostro progetto. Un buon modo per evitare questo tipo di problemi è quello di utilizzare un file package.json.

Creare una directory per il progetto del nodo e spostare il file .js in esso. Aggiungere un file chiamato package.json con questi contenuti:

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

È possibile seguire il modello di aggiungere le altre dipendenze, se necessario.

Poi da quella directory, eseguire 'NPM install'. Si installerà tutte le dipendenze per la tua app. Da lì la vostra applicazione dovrebbe funzionare bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top