当前位置: 首页 > 知识库问答 >
问题:

节点。JS MongoDB语法错误:无效或意外令牌

后焕
2023-03-14

我不明白这是怎么了。节点v.16.4.2,NPM v7.18.1

const mongoose = require("mongoose");
// const dotenv = require('dotenv')
require('dotenv').config({path:'variables.env'});

mongoose.connect(process.env.MONGODB_URL, { useNewUrlParser: true}, err => {
    if (err){
        console.log(err);
    } else {
        console.log("Connected to database successfully");

    }
})

/* mongoose.js */
const db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error'));
db.once('open', ()=>{
  console.log('DB connected');
});

const express = require('express');
const app = express();
app.get('/', (req, res) => {
  Cat.find({}, (err, healings) => {
    if(err) return res.json(err);
    res.json(healings);
  });
});
app.listen(3000, () => {
  console.log('Connect 3000');
});

const userSchema = mongoose.Schema({
    emotion: Number,
    image: String,
    placeName: String,
    grade: Number,
    id: mongoose.Schema.Types.ObjectId,
});
  ​
const Healing = mongoose.model("user", userSchema); // 스키마 등록
var test = new Healing({ emotion: 1111, image: 'test', placeName:'where', grade:5 });
test.save();

//  const Cat = mongoose.model('Kitty', CatSchema);

错误是

/Users/Downloads/test2/mongoose.js:41

SyntaxError:对象上的令牌无效或意外。在模块的wrapSafe(节点:internal/modules/cjs/loader:1025:15)处编译函数(节点:vm:352:18)_在对象处编译(节点:internal/modules/cjs/loader:1059:27)。模块_扩展。。模块处的js(节点:internal/modules/cjs/loader:1124:10)。在功能处加载(节点:内部/模块/cjs/加载程序:975:32)。模块_在功能处加载(节点:内部/模块/cjs/加载程序:816:12)。节点:内部/main/run_main_模块:17:47处的executeUserEntryPoint[作为runMain](节点:内部/modules/run_main:79:12)

共有2个答案

戚浩淼
2023-03-14

该错误调用行41,它看起来是之前的空白行。

const Healing = ...

当我将该行复制/粘贴到Vim中时,它显示

淳于禄
2023-03-14

我认为这是一个编码问题。

例如,请参阅:如何在尝试运行节点时修复'SyntaxError:Invalid or unexpected token'。js应用程序

尝试使用UTF-8编码保存源代码文件。

 类似资料:
  • 问题内容: 我不明白怎么了。我在其他论坛上讨论了翻译和通天塔。我需要做什么? 我的代码: 和错误 问题答案: ES6导入是最近引入的功能,并且Node的当前稳定版本尚不支持它们。Node.js问题跟踪器对此存在一个未解决的问题 -但在V8和Node添加对此功能的支持之前,您将需要使用编译器(最受欢迎的是babel)才能使用导入。 为了快速尝试转译,babel提供了基于Web的REPL。这段演示了您

  • 应用程序。js公司 在执行上述代码时,我得到以下错误。 当我将鼠标悬停在线上方时,会出现这个错误 在我的VS代码中。 当我使用node运行代码时,即在上。我在终端中收到以下错误: 我做错了什么?我希望最后的obj的值是{1:,2:,3:}

  • 问题内容: Chrome尝试在页面上加载脚本文件时收到主题错误。它说它在javascript文件的最后一行。我似乎找不到任何问题。firefox中没有错误,脚本可以按预期工作。仅使用表单验证 问题答案: 该资源末尾有某种伪造的字符。尝试删除最后一行并将其添加回去。 我无法弄清楚那里到底是什么… _编辑_我认为这是一个零宽度的空间,Unicode200B。似乎很奇怪,我当然不能肯定这不是Stacko

  • 在My Gulpfile.js错误部分: 我的包裹。json: 我运行并得到以下错误。 在终端屏幕中: gulp.task('webpack',gulp.series(async()=

  • 问题内容: 我键入的代码与《 Linux命令行:完整介绍》 (第369页)相同,但提示错误: 代码是这样的: 我想了解是什么导致了错误?如何修改代码?我的系统是Ubuntu。 问题答案: 和之间必须有一个空格,如下所示: 这些(及其组合)也都是 不正确的 : 另一方面,这些都可以: 顺便说一句,这些是等效的: 这些也等效: 而且,您的脚本的中间部分应该像这样更好: (我也将引号中的引号删除了,因为

  • 问题内容: 我在Mac上写了一个示例脚本 通过显示Example可以正常工作 当我在RedHat机器上运行此脚本时,它说 意外令牌附近的语法错误’ 我检查了bash是否可用 有人遇到过同样的问题吗? 提前致谢 ! 问题答案: 这可能是文件编码问题。 在不同操作系统和编辑器之间处理文件时遇到了文件类型编码问题,在我的情况下,尤其是在Linux和Windows系统之间。 我建议检查文件的编码,以确保它