0
mongodb와 mongoose로 시작하지만 데이터베이스를 쿼리하는 데 문제가 있습니다. 내가하려고하는 것에 대한 많은 온라인 자습서가 있지만 그것은 나를 위해 일하는 것 같지 않습니다. .find() 함수가 호출되지 않고 콜렉션이 표시되지 않습니다. 필자는 Subject라는 콜렉션을 가지고 있는데, 여기에는 몇 가지 값이 있습니다 (수동으로 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이 mongoose.model
를 사용하여 만든 모델에서 사용되는 기본 연결 풀을 열
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var SubjectsSchema = new Schema ({
subject: { type: String }
});
module.exports = mongoose.model('Subjects', SubjectsSchema);
감사합니다. 관련 메모에서 나는 어떤 과목도 보지 못했습니다. mongo 명령 줄에서 db.Subjects.find()를 입력하면 입력 한 내용을 볼 수 있습니다. 그러나 새 데이터를 삽입 할 때 'var sub = new Subject ({subject : 'some subject'}); sub.save (function (err) {if (err) console.log (err);}); 출력이 표시됩니다. 여기서 무슨 일이 일어나고있는거야? – Szpok
mongoose.model ('Subjects', SubjectsSchema, 'Subjects'); 대신 사용해보십시오. Mongoose는 소위 '유용하게'소문자를 사용하고'model' 호출에서 명시적인 이름을 제공하지 않으면 컬렉션 이름을 얻기 위해 모델 이름을 복수화합니다. – JohnnyHK
니스. 감사. 나는 나의 몽고 db를 점검했고 명백하게 '주제'수집뿐만 아니라 '주제'수집을 가졌다. – Szpok