Node.js 如何在node js中使用mongoose?

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

我是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.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)不是函数,我仍然有此错误