admin管理员组

文章数量:1201414

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?

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?

Share Improve this question asked May 1, 2017 at 20:23 Alexander MillsAlexander Mills 100k165 gold badges531 silver badges908 bronze badges 3
  • 2 No. let {Schema}, mongoose = require('mongoose'); it's same as let {Schema}; let mongoose = require('mongoose'); so it will not work. let mongoose, {Schema} = require('mongoose'); it's same as let mongoose; let {Schema} = require('mongoose'); so mongoose is really undefined. – rie Commented May 1, 2017 at 20:27
  • 1 thanks, can you add this as an answer, it's hard to read. – Alexander Mills Commented May 1, 2017 at 20:29
  • 1 Sorry, I've added. – rie Commented May 1, 2017 at 20:31
Add a comment  | 

4 Answers 4

Reset to default 14

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.

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.

In my case, I was missing an extra } at the end of useEffect

In my case, that was because of the syntax. With node v18.7.0 and with basic JS (not typescript), I should use (with your example):

import mongoose, {Schema} = from 'mongoose';

本文标签: javascriptSyntaxError Missing initializer in destructuring declarationStack Overflow