• 1401/09/17

خطای strictQuery :

استاد خسته نباشید

من انلاین کردم پروژمو ولی خطای 503 داد بعد دوباره اومدم فایلمو روی لوکال باز کردم و تمام چیزایی که پاک کردم را اوردم ولی خطای زیر را می ده میشه ببینید مشکل کجا می تونه باشه؟ ورژن نود را زمان انلاین تغییر دادم ایا می تواند از همان باشد؟

  • 1401/09/17
  • ساعت 20:27

سلام دوست من

مشکل اینکه مشکل از Mongoose هست

چک کن ببین MongoDB نصب و در حال اجرا هست ؟

سیستم رو یکبار ریستارت کن و دوباره تست کن


  • 1401/09/17
  • ساعت 20:44

استاد انگاری نصب نبود همانجوری که پیش بینی کردین(دمتون گرم که اینقدر باهوشید...) اما الان نصبشم کردم باز همین مشکل پیش اومد ممکنه براتون ایمیل کنم ببینید مشکل چیه؟ یه هفته درگیر انلاین کردنشم دیگه داره دادم در میاد:(


  • 1401/09/17
  • ساعت 20:48

من نمی تونم پروژه رو دیباگ کنم چون چندین ساعت وقت من رو میگیره دوست من

خودت باید سعی کنی و با تست و لاگ گرفتن تلاش به رفع مشکل کنی تا یاد بگیری

خطای جدید چی هست ؟

اگر همون خطای قبلی هست 

سیستم رو ریستارت کردی یکبار ؟ چون شاید روی port قبلی در حال اجرا هست و این هم میخواد روی همون port اجرا بشه ولی نمی تونه

 


  • 1401/09/17
  • ساعت 20:52

اره همان خطای قبلی را می ده از دو روز پیش تا الان روی همین خطا داره جلو می ره کل کد را یک بار خط به خط بررسی کردم.

سیستم ریستارت شد ولی باز همان خطا را می ده.


  • 1401/09/17
  • ساعت 20:54

کد بخش ارتباط با پایگاه داده رو اینجا قرار بده


  • 1401/09/17
  • ساعت 20:54

  • 1401/09/17
  • ساعت 20:55

const mongoose = require("mongoose");

const connectDB = async () => {

  try {

    const conn = await mongoose.connect(process.env.MONGO_URI,{

      useNewUrlParser: true, // <-- no longer necessary

      useUnifiedTopology: true // <-- no longer necessary

    });

    console.log(`Mongo DB is running ${conn.connection.host}`)  

}

  catch (err) {

    console.log(err);

    process.exit(1);

  }

};

module.exports=connectDB;


  • 1401/09/17
  • ساعت 20:55

const path = require("path");


 

const debug = require("debug")("weblog-project");

const fileUpload=require('express-fileupload');

const express = require("express");

const mongoose = require("mongoose");

const dotEnv = require("dotenv");

const morgan = require("morgan");

const {errorHandler}=require('./middlewares/errors');

const {setHeaders}=require('./middlewares/headers')

const flash = require("connect-flash");

const session = require("express-session");

const connectDB = require("./config/db");

const MongoDbStore = require('connect-mongo');


 

// ─── Load Config ─────────────────────────────────────────────────────────────

dotEnv.config({ path: "./config/config.env" });

//! ─── Load Config ─────────────────────────────────────────────────────────────



 

// ─── Database Connection ─────────────────────────────────────────────────────

connectDB();

//! ─── Database Connection ─────────────────────────────────────────────────────



 

const app = express();



 

// ─── Body Parser ─────────────────────────────────────────────────────────────

app.use(express.urlencoded({ extended: false }));

app.use(express.json());

app.use(setHeaders)

//! ─── Body Parser ─────────────────────────────────────────────────────────────



 

// ─── File Upload Midlware ────────────────────────────────────────────────────

app.use(fileUpload());

//! ─── File Upload Midlware ────────────────────────────────────────────────────



 

// ─── Session ─────────────────────────────────────────────────────────────────

app.use(

    session({

        secret: process.env.SESSION_SECRET,

        resave: false,

        saveUninitialized: false,

        unset:"destroy",

        store: MongoDbStore.create({

            mongoUrl: process.env.MONGO_URI

        })

    })

);

//! ─── Session ─────────────────────────────────────────────────────────────────




 

// ─── Static Folder ───────────────────────────────────────────────────────────

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

//! ─── Static Folder ───────────────────────────────────────────────────────────



 

// ─── Routes ──────────────────────────────────────────────────────────────────

app.use("/", require("./routers/blog"));

app.use("/users", require("./routers/users"));

app.use("/dashboard", require("./routers/dashboard"));

//! ─── Routes ──────────────────────────────────────────────────────────────────



 

// ─── Error Controller ────────────────────────────────────────────────────────

app.use(errorHandler);

//! ─── Error Controller ────────────────────────────────────────────────────────



 

const PORT = process.env.PORT || 3000;

app.listen(PORT, () =>

    console.log(

        `Server running in ${process.env.NODE_ENV} mode on port ${PORT}`

    )

);


 


  • 1401/09/17
  • ساعت 20:56

  • 1401/09/17
  • ساعت 20:57

  • 1401/09/17
  • ساعت 20:58

استاد در زمان ثبت نام ایمیل جدید یک ارور تو پست من می ده که می گه 10000 میلی ثانیه طول کشیده و داده ارسال نشده و این خطا هم توی ترمینالم هم زمان نشون می ده.


  • 1401/09/17
  • ساعت 20:59

  • 1401/09/17
  • ساعت 21:00

اگر به جای process.env.MONGO_URI مسیر رو به صورت string بدی ببین مشکل برطرف میشه ؟

اگر با نوشتن localhost بازم خطا داد تغییریش بده 

mongoose.connect('mongodb://localhost:27017/test')
mongoose.connect('mongodb://127.0.0.1:27017/test')

بدون 27017 هم بنویس و تست کن

mongoose.connect('mongodb://127.0.0.1/test')

 

اگر بازم خطا بود

mongoose.connect('mongodb://localhost/test',{
    useNewUrlParser: true, 
    useUnifiedTopology: true,
    family: 4, <-- این رو اضافه کن
})

مشکلت هم در آنلاین کردن باید متغییرهای محیطی باشه


  • 1401/09/17
  • ساعت 21:04

استااااااااااااااااد درست شد درست شد درست شد 

جای لوکال هاست نوشتم 127.0.0.1 درست شددددددددددددددددددددددددددد

استاد چرا این مشکل پیش اومده بوده؟


  • 1401/09/17
  • ساعت 21:07

در برخی سیستم ها به دلیل پیکربندی ها انجام شده توسط برخی برنامه ها یا سیستم عامل یا .... پیش میاد

localhost همون ۱۲۷.۰.۰.۱ هست یعنی پشت پرده تبدیل میشه به ۱۲۷.۰.۰.۱ توسط. dhcp طوری که دامنه ها پشت پرده تبدیل به یک ip میشن

موفق باشی


  • 1401/09/17
  • ساعت 21:11

انصافا باهوش هستید یعنی دو خط کد دیدین فهمیدین دردش چیه. افتخارید به خدا


  • 1401/09/18
  • ساعت 12:44

استاد من هم همین مشکل رو داشتم و تمامی روشاتون رو امتحان کردم ولی فرقی نکرد.

با این تفاوت که با استفاده از localhost کلا وصل نمیشد ولی با استفاده از 127.0.0.1 وصل میشه و حتی جداول رو هم ایجاد میکنه ولی بعد چند ثانیه دوباره قطع میشه . مشکل از MongoDB  سیستمم نیست چون کامل با compass اجرا میشه


logo-samandehi