Sankar
Sankar

Reputation: 59

cyclic dependency detected in mongoose + nodeJS

I'm getting error like below.

Error: cyclic dependency detected at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:331:34)

The code is as below..

In db.connection.js

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

In 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);

In 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));

so when I'm running the "node server.js", I'm getting the error as mentioned at the beginning.

Full stack trace:

F:\Full Stack course\code_base\meanhotel\node_modules\mongoose\lib\utils.js:440 throw err; ^

Error: cyclic dependency detected at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:331:34) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17) at serializeObject (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:345:18) at serializeInto (F:\Full Stack course\code_base\meanhotel\node_modules\bson\lib\bson\parser\serializer.js:934:17)

Can someone please help me in solving this.. Thanks in advance.

Upvotes: 1

Views: 4994

Answers (2)

Vibhanshu Shandil
Vibhanshu Shandil

Reputation: 241

Update your mongoose, this should solve your problem.

Upvotes: 4

snersesyan
snersesyan

Reputation: 1677

Adding this in the end of your hotel.schema.js file can help

HotelSchema.set('autoIndex', false);

Upvotes: 1

Related Questions