簡體   English   中英

為什么我的節點 JS 應用程序出現 Invalid shorthand property initializer 錯誤?

[英]Why am I getting an Invalid shorthand property initializer error on my node JS app?

你好,社區你能幫我嗎? 我正在嘗試使用 object 名稱用戶將其屬性定義為模式,通過 mongoose 連接到 mongo db。

我有 3 個文件,這是我的項目結構在此處輸入圖像描述

user.js(用戶 model )

//mongoose is necesary
const mongoose = require('mongoose');
 
let Schema = mongoose.Schema;
 
 
let usersSchema = new Schema({
    name: {
        type: String,
        required: [true, 'name is required']
    },
 
    email:{
        type: String,
        required: [true, 'email is required']
    },
 
    password:{
        type: String,
        required: [true, 'password is required']
    },
 
    img:{
        type: String,    
    },
 
    role:{
        type: String,
        default: 'USER_ROLE'
    },
 
    state:{
        type: Boolean,
        default: true
    },
 
    social:{
        type: Boolean,
        default: false
    }
});
 
//exports 
module.exports = mongoose.model('User', usersSchema);

user.js(用戶控制器)

/*
Endpoind for the user data*/
const express = require('express');
const User = require('../models/user_model')
 
 
const app = express()
 
/*************
 **  GET  **
 *************/ 
app.get('/usuarios', function (req, res) {
    res.json('Hello World')
})
 
 
/*************
 ** POST ****
 *************/
app.post('/usuarios', function (req, res) {
 
    let body = req.body
 
    let usuario = new User({
        name = body.name,
        email = body.email,
        password = body.password,
        role = body.role
    })
 
    usuario.save((err, userDB) => {
 
        // if error
        if (err) {
            return res.status(400).json({
                ok: false,
                err
            })
        }
 
        // if success
        res.json({
            ok: true,
            user: userDB
        })
    })
})
 
/*************
 **  PUT **
 *************/
app.put('/usuarios/:id', function (req, res) {
 
    let id = req.params.id
    res.json({
        id
    })
})
 
/*************
 **  DELETE **
 *************/
app.delete('/usuarios', function (req, res) {
    res.json('Hello World')
})
 
/*
Exports
*/
module.exports = app;

和主文件 server.js

// dependencies
require ('./config/config'); // inmediactly loaded
const mongoose = require('mongoose');
const express = require('express');
const bodyParser = require('body-parser');
const { json } = require('body-parser');
 
 
// declarations
const app = express()
 
// configuring body parser for express
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
 
// temporal para pasar por referencia las rutas de usuarip
app.use(require('./controllers/user'))
 
 
 
// monguse settings conection
mongoose.connect('mongodb://localhost:27017/sales',{useNewUrlParser: true, useUnifiedTopology: true}, (err, resp)=>{
    if (err) throw new err;
    console.log('connected to mongodb')
}
);
 
 
app.listen(process.env.PORT, () => {
    console.log('runing on port:',process.env.PORT );
})

還有 package.json

{
  "name": "node_repaso",
  "version": "1.0.0",
  "description": "a review poject",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "review"
  ],
  "author": "Gerardo Guevara",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "mongoose": "^5.9.28"
  }
}

但我不知道為什么會出現此錯誤

在此處輸入圖像描述

改變

let usuario = new User({
    name = body.name,
    email = body.email,
    password = body.password,
    role = body.role
})

let usuario = new User({
    name : body.name,
    email : body.email,
    password : body.password,
    role : body.role
})

您正在分配值而不是將 json 數據傳遞給用戶 Model

您不能使用=為屬性賦值,您需要使用:

但是,這是一種更清潔的方法:

let { name, email, password, role } = req.body;

let usuario = new User({
    name,
    email,
    password,
    role
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM