SyntaxError: Missing initializer in destructuring declaration

13,277

Solution 1

No.

let {Schema}, mongoose = require('mongoose');

it's same as

let {Schema};
let mongoose = require('mongoose');`

so it will not work because it's not exists object wherefrom take Schema .

let mongoose, {Schema} = require('mongoose');

it's same as

let mongoose;
let {Schema} = require('mongoose');`

And mongoose is really undefined.

Solution 2

For me it was because I was returning empty variables so I had to check their values. Make sure you're returning the right data.

Share:
13,277
Alexander Mills
Author by

Alexander Mills

Dev, Devops, soccer coach. https://www.github.com/oresoftware

Updated on June 11, 2022

Comments

  • Alexander Mills
    Alexander Mills almost 2 years

    I am running this on Node.js version 6.9.5

    I have this code:

    let {Schema}, mongoose = require('mongoose');
    

    which is in theory a simplified version of:

    let mongoose = require('mongoose');
    let Schema = mongoose.Schema;
    

    I get this error:

    let {Schema}, mongoose = require('mongoose');
        ^^^^^^^^
    SyntaxError: Missing initializer in destructuring declaration
    

    I tried this instead:

    let mongoose, {Schema} = require('mongoose');
    

    I got a different error, which was the result of "mongoose" being undefined.

    I thought it was possible to do something like this, what am I doing wrong?