Проблема с мангустом: схема не определена

#javascript #node.js #mongoose

#javascript #node.js #mongoose

Вопрос:

Эй, ребята, я пытался поиграть с mongoose amp; node, но у меня возникли некоторые проблемы даже с самым простым запуском… У меня есть этот код:

 var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var db = mongoose.connect('mongodb://localhost/db');

var User = new Schema({
  email: {
    type: String,
    index: { unique: true }
  },
  name: String,
  lastseen: Date,
  isonline: Boolean,
  hashed_password: String,
  salt: String
});

mongoose.model('User', User);

var User = db.model('User');

var u = new User();
u.name = 'Foo';

u.save(function() {
    User.find().all(function(arr) {
        console.log(arr);
        console.log('length=' arr.length);
    });
});
  

Который должен выполняться, поскольку это пример кода… но у меня есть эта ошибка:

 node.js:181
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
ReferenceError: Schema is not defined
    at Object.<anonymous> (myfile.js:12:1)
    at Module._compile (module.js:420:26)
    at Object..js (module.js:426:10)
    at Module.load (module.js:336:31)
    at Function._load (module.js:297:12)
    at Array.<anonymous> (module.js:439:10)
    at EventEmitter._tickCallback (node.js:173:26)
  

Кто-нибудь из вас знает, что с этим не так?
Спасибо.

Ответ №1:

Какую версию mongoose вы используете?

Я столкнулся с аналогичными проблемами с mongoose < 1.1.0, которые были исправлены обновлением.

Комментарии:

1. Сейчас я использую 1.1, во всяком случае, я думаю, что у меня была эта проблема :). Я просто все уничтожил и перезапустил проект.