我拉我的頭髮...這個功能工作完美,直到昨天晚上...我沒有做任何改變的底層代碼,它似乎有隻是隨機辭掉工作。下面的代碼:Node.JS Mongoose:.find()未定義
var KeyWord = require('./word');
console.log(KeyWord); // returns {}
KeyWord.find().select('_id').exec(function(err, result) {
if (err) {
console.log("error getting word");
} else {
console.log("Found");
}
});
下面是關鍵字對象
var mongoose = require('mongoose');
var Account = require('./account');
var ObjectId = mongoose.Schema.Types.ObjectId;
var KeyWordSchema = new mongoose.Schema({
chinese: String,
english: [String],
pinyin: [String],
tone: Number,
count: Number
});
var KeyWord = mongoose.model('KeyWord', KeyWordSchema);
module.exports = KeyWord;
的錯誤我得到的回覆是:
KeyWord.find().select('_id').exec(function(err, result) {
^
TypeError: undefined is not a function
我跑的代碼的最高位在我的index.js並工作,印刷「找到」。 word.js文件和運行該函數的文件位於同一個文件夾中。
而且,所有這些代碼在同一個js文件?如果不是,你如何獲得'KeyWord'到第一個片段? –
不,它不是同一個文件。我正在導入關鍵字(對不起,忘記包含) - 導入工作。我已經打印貓鼬和KeyWord,並沒有被列爲未定義。我還嘗試了其他模型函數,如save和findOne,並且它們都被列爲未定義的函數。 –
對我來說,聽起來像'KeyWord'不是你的第一個片段中的貓鼬模型,這將暗示它被導入或導出不正確。它看起來像你正在導出它,這導致你沒有包括的導入步驟。 –