циклическая зависимость обнаружена в mongoose + nodeJS - PullRequest
0 голосов
/ 05 июня 2018

Я получаю сообщение об ошибке, как показано ниже.

Ошибка: в serializeObject обнаружена циклическая зависимость (F: \ Полный стек, курс \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 331: 34)

Код указан ниже ..

В db.connection.js

const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/mean");
require("./hotel.model");

В hotel.schema.js

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const HotelSchema = new Schema({
    name : {
        type : String,
        required : [true, "Hotel name is required"]
    },
    stars : {
        type : Number,
        min : 0,
        max : 5,
        default : 0
    },
    description : String,
    services : [String]
});

mongoose.model("Hotel",HotelSchema);

В файле server.js

const express = require("express");
const http = require("http");
const path = require("path");

const mongoose = require(path.join(__dirname,"server","db","db.connection"));

const routes = require("./server/routes")
const app = express();
port = 3000;
app.set("port",port);

app.use(express.static(path.join(__dirname,"dist")));

app.use("/api",routes);

app.use('*',(req,res)=>{
    res.sendFile(__dirname,"dist","index.html");
});

const server = http.createServer(app);
server.listen(port,()=>console.log("listening to port : "+port));

, поэтому, когда я запускаю "node server.js", я получаю сообщение об ошибке, как упоминалось в начале.

Трассировка полного стека:

F: \ Курс полного стека \ code_base \ meanhotel \ node_modules \ mongoose \ lib \ utils.js: 440 throw err;^

Ошибка: в serializeObject обнаружена циклическая зависимость (F: \ Full Stack course \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 331: 34) в serializeInto (F: \Полный курс стека \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 934: 17) в serializeObject (F: \ Полный курс стека \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \serializer.js: 345: 18) в serializeInto (F: \ курс полного стека \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 934: 17) в serializeObject (F: \ курс полного стека \code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 345: 18) в serializeInto (F: \ Полный стек \ \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js:934: 17) в serializeObject (F: \ Full Stack, курс \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 345: 18) в serializeInto (F: \ Full Stack, курс \ code_base \ meanhotel \node_modules \ bson \ lib \ bson \ parser \ serializer.js: 934: 17) в serializeObject (F: \ Fуниверсальный курс \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 345: 18) в serializeInto (F: \ полный стек \ \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \serializer.js: 934: 17) в serializeObject (F: \ курс полного стека \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 345: 18) в serializeInto (F: \ курс полного стека \code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 934: 17) в serializeObject (F: \ полный стек \ \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js:345: 18) в serializeInto (F: \ Full Stack course \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 934: 17) в serializeObject (F: \ Full Stack course \ code_base \ meanhotel \node_modules \ bson \ lib \ bson \ parser \ serializer.js: 345: 18) в serializeInto (F: \ Full Stack course \ code_base \ meanhotel \ node_modules \ bson \ lib \ bson \ parser \ serializer.js: 934: 17)

Может кто-нибудь, пожалуйста, помогите мне в решении этой проблемы .. Заранее спасибо.

1 Ответ

0 голосов
/ 05 марта 2019

Добавление этого в конец вашего файла hotel.schema.js может помочь

HotelSchema.set('autoIndex', false);
...