Node.js 无法使用nodeJS连接MongoDb
我正在创建Node.js 无法使用nodeJS连接MongoDb,node.js,mongodb,Node.js,Mongodb,我正在创建MERNstack应用程序我正在尝试将我的应用程序连接到MongoDb数据库。我正在使用Mongoose库连接到`MongoDb。我收到以下错误: 错误 TypeError:回调不是函数 ['server]位于$initialConnection.$initialConnection.then(H:\React projects\MyBlog\node\u modules\mongoose\lib\connection.js:744:13) ['server]在进程中。_tick回调(
MERN
stack应用程序我正在尝试将我的应用程序连接到MongoDb
数据库。我正在使用Mongoose
库连接到`MongoDb。我收到以下错误:
错误
TypeError:回调不是函数
['server]位于$initialConnection.$initialConnection.then(H:\React projects\MyBlog\node\u modules\mongoose\lib\connection.js:744:13)
['server]在进程中。_tick回调(internal/process/next_tick.js:68:7)
下面是我的代码:
server.js
const express = require('express');
const path = require('path');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(require('./routes/saveData.js'));
const port = process.env.PORT || 5000;
app.listen(port,() => {
console.log(`Server is running on ${port}.`);
});
const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
const blogs = require('../models/blogPost');
const mongoose = require('mongoose');
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended: true}));
const dburl = 'mongodb+srv://example:example@cluster1-5wp.mongodb.net/ExpDb?retryWrites=true'
router.post('/save',(req,res) => {
const data = {
title: req.body.title,
detail: req.body.detail
}
const newBlog = new blogs(data);
mongoose.connect(dburl, {useNewUrlParser: true,useUnifiedTopology:true}).then((resp) =>{
resp.send("Connected");
console.log("connected");
}).catch((err) => {
console.log("database error: ",err);
});
});
module.exports = router;
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const BlogPostSchema = new Schema({
title:String,
body:String,
date:{
type:String,
dafault:Date.now()
}
});
const BlogPost = mongoose.model('BlogPost',BlogPostSchema);
module.exports = BlogPost;
saveData.js
const express = require('express');
const path = require('path');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(require('./routes/saveData.js'));
const port = process.env.PORT || 5000;
app.listen(port,() => {
console.log(`Server is running on ${port}.`);
});
const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
const blogs = require('../models/blogPost');
const mongoose = require('mongoose');
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended: true}));
const dburl = 'mongodb+srv://example:example@cluster1-5wp.mongodb.net/ExpDb?retryWrites=true'
router.post('/save',(req,res) => {
const data = {
title: req.body.title,
detail: req.body.detail
}
const newBlog = new blogs(data);
mongoose.connect(dburl, {useNewUrlParser: true,useUnifiedTopology:true}).then((resp) =>{
resp.send("Connected");
console.log("connected");
}).catch((err) => {
console.log("database error: ",err);
});
});
module.exports = router;
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const BlogPostSchema = new Schema({
title:String,
body:String,
date:{
type:String,
dafault:Date.now()
}
});
const BlogPost = mongoose.model('BlogPost',BlogPostSchema);
module.exports = BlogPost;
以下是猫鼬模式:
blogPost.js
const express = require('express');
const path = require('path');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(require('./routes/saveData.js'));
const port = process.env.PORT || 5000;
app.listen(port,() => {
console.log(`Server is running on ${port}.`);
});
const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
const blogs = require('../models/blogPost');
const mongoose = require('mongoose');
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended: true}));
const dburl = 'mongodb+srv://example:example@cluster1-5wp.mongodb.net/ExpDb?retryWrites=true'
router.post('/save',(req,res) => {
const data = {
title: req.body.title,
detail: req.body.detail
}
const newBlog = new blogs(data);
mongoose.connect(dburl, {useNewUrlParser: true,useUnifiedTopology:true}).then((resp) =>{
resp.send("Connected");
console.log("connected");
}).catch((err) => {
console.log("database error: ",err);
});
});
module.exports = router;
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const BlogPostSchema = new Schema({
title:String,
body:String,
date:{
type:String,
dafault:Date.now()
}
});
const BlogPost = mongoose.model('BlogPost',BlogPostSchema);
module.exports = BlogPost;
有人请让我知道我做错了什么。任何帮助都将不胜感激
谢谢mongoose connect没有回拨
mongoose.connect(dburl, {useNewUrlParser: true},{useUnifiedTopology:true});
这应该行得通。然后,要进行更新,应在模型对象上使用mongoose save方法
BlogPost.save();
mongoose connect没有回调
mongoose.connect(dburl, {useNewUrlParser: true},{useUnifiedTopology:true});
这应该行得通。然后,要进行更新,应在模型对象上使用mongoose save方法
BlogPost.save();
Mongoose返回的承诺值为
resp
。具有.send
方法的服务器响应对象是res
。请尝试以下内容:
router.post('/save', (req, res) => {
...
mongoose.connect(dburl, {useNewUrlParser: true, useUnifiedTopology:true}).then((resp) =>{
// res not resp
res.send("Connected");
console.log("connected");
})
Mongoose返回的承诺值为
resp
。具有.send
方法的服务器响应对象是res
。请尝试以下内容:
router.post('/save', (req, res) => {
...
mongoose.connect(dburl, {useNewUrlParser: true, useUnifiedTopology:true}).then((resp) =>{
// res not resp
res.send("Connected");
console.log("connected");
})
文档中的语法
mongoose.connect(uri, options).then(
() => { /** ready to use. The `mongoose.connect()` promise resolves to mongoose instance. */ },
err => { /** handle initial connection error */ }
);
代码
文档中的语法
mongoose.connect(uri, options).then(
() => { /** ready to use. The `mongoose.connect()` promise resolves to mongoose instance. */ },
err => { /** handle initial connection error */ }
);
代码