【问题标题】:Node.JS / Express / Mongodb/Mongoose Simple Connection IssueNode.JS / Express / Mongodb/Mongoose 简单连接问题
【发布时间】:2011-09-13 08:14:26
【问题描述】:

您好:我是 Node/Mongo/Express 等的新手,并试图通过 mongoose 建立与 mongodb 的简单连接。此时我只是尝试建立连接但收到错误:

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
ReferenceError: mongoose is not defined
    at Object.<anonymous> (/Users/mattydorey/Code/napkin_0.1/testdb.js:8:1)
    at Module._compile (module.js:407:26)
    at Object..js (module.js:413:10)
    at Module.load (module.js:339:31)
    at Function._load (module.js:298:12)
    at Array.<anonymous> (module.js:426:10)
    at EventEmitter._tickCallback (node.js:126:26)

非常感谢任何帮助。这是我的代码:

// Launch express and server
var express = require('express');
var app = express.createServer();

//connect to DB
var moongoose = require('/Users/me/node_modules/mongoose').Mongoose;
var db = mongoose.connect('mongodb://localhost/napkin_0.1');

//Configure Node w/ Dependencies
app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(require("stylus").middleware({
      src: __dirname + "/public",
      dest: __dirname + "/public",
      compress: false
    }));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  //app.use(require('stylus').middleware({ src: __dirname + '/public' }));
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

// Define Model
mongoose.model('User', {
  collection: 'user',
  properties: [
    'created',
    'username',
    'password',
    'email'
  ],
  indexes: [
    'created',
    [{username: 1},{unique: true}],
    [{email: 1},{unique: true}]
  ],
  static: {},
  methods: {},
  setters: {},
  getters: {}
  }
);

//Define Collection
var User = db.model('User');

// Handle Data
var user = new User();
user.created = new Date();
user.username = "TEST";
user.password = "PASS";
user.email = "someemail";
user.save();

//Launch Server
app.listen(3002);

【问题讨论】:

    标签: javascript mongodb node.js mongoose


    【解决方案1】:

    并检查所需路径,尝试一下:

    var mongoose = require('mongoose').Mongoose;
    var db = mongoose.connect('mongodb://localhost/napkin_0.1');
    

    【讨论】:

    • 将其更改为 require('mongoose').Mongoose ,这似乎运行良好。但是,我收到一条错误消息,指出对象函数 Mongoose() 没有方法“连接”。这是否意味着mongoose有错误?
    • 好的,试试看:var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/napkin_0.1');
    • 有效!惊人的。是的,看起来在新版本之一中删除了 .Mongoose 要求。感谢您的帮助。
    【解决方案2】:

    试试这个

    const mongoose = require('mongoose');
    var db = mongoose.connect('mongodb://localhost/napkin_0.1')
    

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 2021-03-17
      • 2021-02-22
      • 2020-05-12
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2011-12-07
      相关资源
      最近更新 更多