Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 不支持猫鼬'let'_Node.js_Mongodb_Mongoose_Mongodb Query - Fatal编程技术网

Node.js 不支持猫鼬'let'

Node.js 不支持猫鼬'let',node.js,mongodb,mongoose,mongodb-query,Node.js,Mongodb,Mongoose,Mongodb Query,背景: 我正在构建一个MERN Stack Travel应用程序,我正在创建一个查询,从room集合中从每种类型的房间中获取一个房间对象。我成功地做到了这一点,你可以看到 问题: 我面临的问题是,我正在处理,当我尝试集成查询时,我从mongoose那里得到一个错误,它说let not supported。我似乎不明白我做错了什么。任何帮助都将不胜感激 堆栈跟踪: 与NodeJS的集成: const express=require(“express”); const router=expres

背景: 我正在构建一个MERN Stack Travel应用程序,我正在创建一个查询,从
room
集合中从每种类型的房间中获取一个房间对象。我成功地做到了这一点,你可以看到

问题: 我面临的问题是,我正在处理,当我尝试集成查询时,我从mongoose那里得到一个错误,它说
let not supported
。我似乎不明白我做错了什么。任何帮助都将不胜感激

堆栈跟踪:

与NodeJS的集成:

const express=require(“express”);
const router=express.router();
const{ObjectId}=require(“mongodb”);
const Hotel=require(“../models/hotelmanagement/Hotel”);
路由器.post(“/uniquerooms”),身份验证,异步(req,res)=>{
试一试{
设id=ObjectId(req.user.id);
const uniquerooms=等待酒店.aggregate(
[
{
$match:{
酒店代表:身份证,
},
},
{
$lookup:{
来自:“hotelReps”,
as:“HotelRep”,
让我们:{
hotelRep:“$hotelRep”,
},
管道:[
{
$match:{
$expr:{
美元及:[
{
$eq:[“$\u id”,“$$hotelRep”],
},
],
},
},
},
],
},
},
{
$lookup:{
从:“房间”,
如:“房间”,
让我们:{
id:“$\u id”,
},
管道:[
{
$facet:{
经济:[
{
$match:{
$expr:{
美元及:[
{
$eq:[“$type”,“Economy”],
},
{
$eq:[“$hotelId”、“$$id”],
},
],
},
},
},
{
$limit:1,
},
],
德勒雪:[
{
$match:{
$expr:{
美元及:[
{
$eq:[“$type”,“Delexue”],
},
{
$eq:[“$hotelId”、“$$id”],
},
],
},
},
},
{
$limit:1,
},
],
豪华:[
{
$match:{
$expr:{
美元及:[
{
$eq:[“$type”,“Luxury”],
},
{
$eq:[“$hotelId”、“$$id”],
},
],
},
},
},
{
$limit:1,
},
],
},
},
{
$项目:{
活动:{
$setUnion:[“$Economy”、“$luxue”、“$Delexue”],
},
},
},
{
$REWIND:“$activity”,
},
{
$replaceRoot:{
newRoot:“$activity”,
},
},
],
},
},
{
$REWIND:“$Room”,
},
{
$replaceRoot:{
newRoot:“$Room”,
},
},
],
(错误,响应)=>{
if(err)res.status(400).json({err});
控制台日志(uniquerooms);
res.json(uniquerooms);
}
);
}捕捉(错误){
控制台错误(错误消息);
res.status(500).send(“服务器错误”);
}

});
当您试图查找
房间时
您的代码包含
var
而不是
let
var:{id:$\u id',}
。你能试着把它改成let吗?很抱歉,当问题发生时我正在试验,(可能不是最明智的做法),但我把它改成let并检查它仍然显示相同的问题你能检查你的MongoDB版本吗?
let
是在
3.6
中引入的:“let is print”是在它进入路线之前打印的,这不太可能是因为聚合。你的node.js版本是什么?另外,HEADERS_SENT错误是因为您调用了multiple
res.json()
,尝试对第一个
err
调用console.error(err)并
返回res.status(400).json({err})
,而不是在试图查找
房间时,您的代码包含
var
,而不是
let
var:{id:$u id“,}
。你能试着把它改成let吗?很抱歉,当问题发生时我正在试验,(可能不是最明智的做法),但我把它改成let并检查它仍然显示相同的问题你能检查你的MongoDB版本吗?
let
是在
3.6
中引入的:“let is print”是在它进入路线之前打印的,这不太可能是因为聚合。你的node.js版本是什么?另外,发送的头错误是因为调用了multiple
res.json()
,请尝试console.error(err)作为第一个
err
返回res.status(400).json(