javascript - Mongoose 不创建模式或连接到数据库
问题描述
每当我使用 express 和 node“发布”某些内容时,我都会收到错误消息。我可以加载网站,但是一旦我提交表单数据它就会崩溃
结果是这样的:
/Users/anishladdha/url_shortener/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:185
callback(new MongooseError(message));
^
MongooseError: Operation `urls.findOne()` buffering timed out after 10000ms
at Timeout.<anonymous>
当我运行此代码时:
const express = require('express');
const bodyParser = require('body-parser');
const request = require('request');
const https = require('https')
const { json } = require('body-parser');
const mongoose = require('mongoose');
const shortID = require('shortid');
const URL = require("./models/url.js")
const app = express();
app.set('view engine', 'ejs');
var mongoDB = 'mongodb://localhost/url_short';
mongoose.connect(mongoDB, {useNewUrlParser: true, useUnifiedTopology: true}).then(console.log("connected?"));
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
db.once("open", function() {
console.log("MongoDB database connection established successfully");
});
app.use(bodyParser.urlencoded({extended: true}));
//app.get('/') works
app.post('/', async function(req, res) {
let sid = shortID.generate
await URL.create({
longUrl: req.body.user_url,
shortUrl: sid,
});
res.render('index', {sid: sid});
});
app.listen(3000, function() {
console.log('listening on port:3000');
});
任何帮助,将不胜感激!
解决方案
好的,所以这很可能是我在编码过程中做过的最愚蠢的事情。
我没有意识到你必须安装 mongodb 才能工作:|
所以是的,可能会这样做
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/
推荐阅读
- spring-boot - 使用父实体保存子实体:java.sql.SQLException:字段“post_id”没有默认值
- javascript - jQuery scrollTop 在 FF 和 Safari 上跳跃
- javascript - 为什么要声明匿名函数然后分配给变量?
- python - 如何在多行文本小部件中获取子字符串的结束位置
- css - 如何使用 fontAwesome 图标和 Tailwind.css 对齐 React Material-UI 列表项
- c - 试图了解 C 中不同的输入方式是如何发生的,但是 fgets() 往往会跳过
- excel - vba excel:当消息框陷入无限循环时闯入vba代码
- neural-network - 使用神经网络的线性回归
- git - 使用 git 子模块时的最佳开发工作流程?
- php - 返回视图正在返回不同的数据