Node.js 如何在node js中使用mongoose?
我是NodeJS的初学者,在这里我尝试连接到MongoDB 我遵循一个教程,基于此,我有以下项目结构:Node.js 如何在node js中使用mongoose?,node.js,mongoose,Node.js,Mongoose,我是NodeJS的初学者,在这里我尝试连接到MongoDB 我遵循一个教程,基于此,我有以下项目结构: - server - config - db.js - index.js - index.js 我的猫鼬依赖版本是:5.6.9 在我的db.js中,我有以下代码行: const mongoose = require('mongoose'); // connection to mongoose export default () => { mongoose.co
- server
- config
- db.js
- index.js
- index.js
我的猫鼬依赖版本是:5.6.9
在我的db.js中,我有以下代码行:
const mongoose = require('mongoose');
// connection to mongoose
export default () => {
mongoose.connect('mongodb://localhost/dbCollection', function(err, db) {
if (err) {
console.log('Unable to connect to the server. Please start the server. Error:', err);
} else {
console.log('Connected to Server successfully!');
}
});
}
在服务器文件夹的index.js中,我有
import express from 'express';
import dbConfig from './config/db';
const app = express();
dbConfig();
但我犯了一个错误
_mongoose2.default.connection().once('open', function () {
^
TypeError: _mongoose2.default.connection is not a function
at exports.default
试试这个:
const mongoose = require('mongoose');
const connect = mongoose.connect("mongodb://localhost:27017/dbCollection");
connect.then((db) => {
console.log('Connected correctly to server');
}, (err) => {
console.log(err)
// next(err)
});
数据库连接和侦听端口
// import dependencies
import express from 'express';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import logger from 'morgan';// set up dependencies
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false });
app.use(logger('dev'));// set up mongoose
mongoose.connect('mongodb://localhost/projectsupport')
.then(()=> {
console.log('Database connected');
})
.catch((error)=> {
console.log('Error connecting to database');
});
// set up port
const port = 5035;// set up route
app.get('/', (req, res) => {
res.status(200).json({
message: 'Welcome to Project Support',
});
});app.listen(port, () => {
console.log(`Our server is running on port ${port}`);
});
您使用的是默认情况下NodeJs还不支持的ES6语法,因此您有两个选项:1/在Node9中,您可以使用
节点--experimental modules index.mjs
启用ES6支持。2/使用Es5语法:module.exports=()=>{…}
和constdbconfig=require('./config/db')
@MoadEnnagi哪一个更好?如果您是初学者,我建议您将其重写为ES5。@nas ES6支持在Node9中是实验性的。(0,_db2.default)(;)TypeError:(0,_db2.default)不是函数,我仍然有此错误