Mongoose mein Collections ko Connect kaise karein? ObjectId aur ref ki poori jaankari

1. Model ka naam Capital (Cart) kyun?

Jab aap mongoose.model('Cart', cartSchema) likhte hain, toh ye ek Constructor Function ya Class ki tarah kaam karta hai.

  • Rule of Thumb: JavaScript mein jab bhi koi cheez nayi objects banane ke liye use hoti hai (jaise Class), uska pehla letter hamesha Capital rakha jata hai (PascalCase).
  • Pehchan: Jab aap code mein new Cart({...}) likhte hain, toh capital ‘C’ dekh kar turant samajh aa jata hai ki ye ek Mongoose Model hai, koi aam variable nahi.

2. Schema ka naam Capital (CartSchema) kyun?

Schema ek blueprint (naksha) hota hai. Ise capital likhne ka matlab hai ki ye ek “Constant” ya “Definition” hai jo badlegi nahi.

  • Agar aap cartSchema (small c) likhte hain, toh wo bhi chalega, lekin bade projects mein confusion se bachne ke liye CartSchema use kiya jata hai taaki wo Model (Cart) se milta-julta lage.

3. Ek Blog Style Explanation (Naming Conventions)

Agar aap ise apne blog par post karna chahte hain, toh ye points zarur likhein:

PascalCase vs camelCase

  • Cart (PascalCase): Models ke liye use hota hai kyunki ye database ke collection ko represent karte hain.
  • cartItem (camelCase): Variables ya instances ke liye use hota hai.

Example Code Comparison:

JavaScript

// Galat ya confusing tarika
const cart = mongoose.model('cart', cartSchema);
const mycart = new cart(); // Pata nahi chal raha ki ye model hai ya variable

// Sahi aur Standard tarika
const Cart = mongoose.model('Cart', CartSchema);
const userCart = new Cart(); // Saaf pata chal raha hai ki 'Cart' ek model hai

4. Summary Table for your Blog

NameTypeConventionWhy?
CartModelPascalCaseKyunki ye ek Class/Constructor hai jo naye documents banata hai.
CartSchemaSchemaPascalCaseKyunki ye ek static blueprint (definition) hai.
userIdFieldcamelCaseKyunki ye object ke andar ki ek property hai.

Leave a Comment