2015-01-27 2 views
0

Я начинаю с mongodb и mongoose, но у меня возникают проблемы с запросом базы данных. В Интернете есть ряд обучающих программ, которые я пытаюсь сделать, но это, похоже, не работает для меня. Моя проблема в том, что функция .find() даже не вызывается и коллекция не отображается. У меня есть коллекция под названием Subjects, в которой я знаю, что есть некоторые значения (я вручную ввел их в командной строке mongodb). Я только пытался, включая соответствующий код, но дайте мне знать, если что-то еще нужно. Заранее спасибо.mongodb + mongoose: запрос не входит. Функция find

app.js файл

require('./models/model.js'); 
var conn = mongoose.createConnection('mongodb://localhost/test'); 
var Subject = mongoose.model('Subjects'); 

Subject.find({ }, function (err, subjects) { 
    if(err) console.log("Error"); // There is no "Error" 
    console.log("Made it");   // There is no "Made it" 
    console.log(subjects); 
}); 

model.js файл

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 
var SubjectsSchema = new Schema ({ 
    subject: { type: String } 
}); 
module.exports = mongoose.model('Subjects', SubjectsSchema); 

ответ

0

Вызов mongoose.connect вместо mongoose.createConnnection открыть пул соединений по умолчанию, который будет использоваться в моделях, созданных с использованием mongoose.model :

mongoose.connect('mongodb://localhost/test'); 
+0

Спасибо. По соответствующей заметке я не видел никаких предметов. В командной строке mongo я набираю db.Subjects.find(), и я вижу, что я ввел. Однако, когда я вставляю новые данные 'var sub = new Subject ({subject: 'some subject'}); sub.save (function (err) {if (err) console.log (err);}); ' Я вижу выход. Что здесь происходит? – Szpok

+0

Попробуйте 'mongoose.model ('Subjects', SubjectsSchema, 'Subjects'); вместо этого. Mongoose «помогает» в нижних регистрах и плюрализует имена моделей, чтобы получить имя коллекции, если вы не указали явное имя в вызове 'model'. – JohnnyHK

+0

Ницца. Благодарю. Я проверил свой mongo db и, по-видимому, собрал «предметы», а также коллекцию «Предметы». – Szpok

Смежные вопросы