使用mongoose Model.create()方法时出现错误信息

问题描述 投票:0回答:1

我尝试使用

创建文档
const user = new User({name:"henok", age:"23"})
user.save()
console.log(user)

它有效,但是当我尝试使用创建新文档时 它给了我一个错误

const run = async()=>{
  try {
    const user = await User.create({name:"someone", age:55})
    console.log(user)
  } catch (error) {
    console.log(error.message)
  }
} 

错误

这是我使用“mongoose”的猫鼬版本:“^8.3.2” 这是完整的代码

import mongoose from "mongoose";
import User from "./script.js";

mongoose.connect("mongodb://localhost:27017/appdb")


const run = async()=>{
  try {
    const user = await User.create({name:"someone", age:55})
    console.log(user)
  } catch (error) {
    console.log(error.message)
  }
}
run()

脚本.js

import mongoose from "mongoose";

const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
})

export default mongoose.model("User" ,userSchema)
node.js mongodb express mongoose
1个回答
0
投票

出现此错误的原因是您的 Node.js 代码中没有任何拓扑描述。为了解决这个问题,你必须在 connect() 函数中设置

useUnifiedTopology
。为了达到这个目的,你可以看看下面的代码:

const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/your_database", { useUnifiedTopology: true, useNewUrlParser: true });

除此之外,Mongoose 6.x 或更高版本中还需要

useNewUrlParser
选项。

© www.soinside.com 2019 - 2024. All rights reserved.