我得到一个错误后,运行一个简单的javascript代码与mongoose.这是错误:
const alreadyHookedFunctions = new Set(applyHooks.middlewareFunctions.flatMap(fn => ([fn, `$__${fn}`])))
TypeError: applyHooks.middlewareFunctions.flatMap is not a function
at Object.<anonymous> (C:\Users\Apeksha\Documents\MERN\mongoose\node_modules\mongoose\lib\helpers\model\applyHooks.js:29:71)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (C:\Users\Apeksha\Documents\MERN\mongoose\node_modules\mongoose\lib\schema.js:31:23)
at Module._compile (internal/modules/cjs/loader.js:778:30)
这是我的script.js
文件
const mongoose= require('mongoose')
const User= require('./User')
mongoose.connect("mongodb://localhost/testdb",
()=>{
console.log('connected')
})
async function run(){
const first_user= await User.create({
name: 'Apeksha',
roll_no: 124,
city: 'Mumbai'
})
console.log(first_user)
}
这是我的User.js
文件
const mongoose= require('mongoose')
const userSchema= new mongoose.Schema({
name: String,
roll_no: Number,
city: String
})
module.exports= mongoose.model("User",userSchema)
我试着用npm i mongoose
重新安装mongoose,我似乎找不出代码中出了什么问题。
1条答案
按热度按时间uklbhaso1#
我使用的是mongoose版本6.8.4,它需要节点版本16或以上。因为在Ubuntu 20.04(我的系统)中,节点的默认版本将是10.19.0(所以我在第一次遇到同样的错误)。尝试更新您的节点或通过将您的mongoose降级到版本5来使用相同版本的节点。