这是我正在做的一个简单的待办事项列表,每当我运行它并重新加载页面时,它都会抛出一个错误。代码是:
import mongoose from "mongoose"
import express from "express"
import { Todo } from "./models/Todo.js"
let conn = mongoose.connect("mongodb://localhost:27017/todo")
const app = express()
const port = 3000
app.get('/', (req, res) => {
const todo = new Todo({ title: "First List", desc: "Description of my First List", isDone: false })
todo.save()
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port http://localhost:${port}`)
})
错误是:
MongooseError: Operation `todos.insertOne()` buffering timed out after 10000ms
如果有人想查看 TodoSchema :
import mongoose from "mongoose";
const todoSchema = new mongoose.Schema({
title: String,
desc: String,
isDone: Boolean
})
export const Todo = mongoose.model('Todo', todoSchema)
我希望看到的是,每次我根据 todoSchema 重新加载页面时,都会在本地主机的 MongoDB 数据库中插入一个名为 todo 的文件夹。
有一个常见的混乱根源。
Mongoose 让您可以立即开始使用模型,而无需等待 mongoose 建立与 MongoDB 的连接。 ... 这是因为 mongoose 在内部缓冲模型函数调用。这种缓冲很方便,但也是造成混乱的常见原因。如果您在没有连接的情况下使用模型,Mongoose 默认不会抛出任何错误。
请参考同一事件及其解决方案。
tours.insertOne()
缓冲在超时10000毫秒后超时
谢谢 我们做最好的4你