mongodb 为什么节点在加载需要Mongoose的文件后陷入循环?

ddrv8njm  于 2023-01-25  发布在  Go
关注(0)|答案(1)|浏览(119)

我是一个很新的编码,我正在参加柯尔特斯蒂尔的网络开发训练营课程在线。课程一直很好,但我认为有些部分是过时的。
当我在node中输入. load.index.js时,终端陷入某种循环,并不断打印“const mongoose = require('mongoose')”。如果有帮助,我将我的代码粘贴在下面。如果你认为你知道我的错误,请告诉我,谢谢!

const mongoose = require('mongoose');
mongoose.set('strictQuery', false);
mongoose.connect('mongodb://127.0.0.1:27017/movieApp')
.then(() => {
    console.log("connection open!");
})
.catch(err => {
    console.log("oh no, error!");
    console.log(err);
})

const movieSchema = new mongoose.Schema( {
    title: String,
    year: Number,
    score: Number,
    rating: String
})

const Movie = mongoose.model('Movie', movieSchema);

我尝试重新保存文件,并尝试不同的方式连接到数据库。但是,每次我仍然得到相同的循环。我希望节点加载我的代码,并进入REPL。

zf9nrax1

zf9nrax11#

我在我正在修读的课程的问题论坛中找到了答案。助教贴出了这个:
更新(溶液):
这看起来像是node最新版本的一个bug,它是如何与mongoose一起工作的。
不要在节点shell内部使用.load index.js,而是在系统终端(在节点shell外部,只需确保您首先将目录更改到包含index.js文件的文件夹)中使用命令node -即“$(〈index.js)”-这将加载该文件并使用此命令启动节点,然后它应该会工作。

相关问题