2012-02-21 87 views
2

我使用npm在node.js上安装了猫鼬。当我尝试使用此代码连接:猫鼬有没有方法`连接`

mongoose = require('mongoose/').Mongoose 
@db = mongoose.connect("mongodb://localhost/test") 

我得到这个错误:

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
TypeError: Object function Mongoose() { 
    this.connections = []; 
    this.plugins = []; 
    this.models = {}; 
    this.modelSchemas = {}; 
    this.options = {}; 
    this.createConnection(); // default connection 
} has no method 'connect' 
    at new ChatService (/home/lolcoder/workspace/sampleApp/src/services/dbService.js:12:26) 
    at Object.<anonymous> (/home/lolcoder/workspace/sampleApp/src/app.js:40:17) 
    at Object.<anonymous> (/home/lolcoder/workspace/sampleApp/src/app.js:44:4) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:31) 
    at Function._load (module.js:308:12) 
    at Array.0 (module.js:479:10) 
    at EventEmitter._tickCallback (node.js:192:40) 

当做终端mongo,我得到:

MongoDB shell version: 2.0.2 
connecting to: test 

任何人都知道为什么没有connect()方法在猫鼬对象?

回答

13

而不是

mongoose = require('mongoose/').Mongoose; 

使用

mongoose = require('mongoose/');