MongoDB लॉजिकल ऑपरेटर — $and, $or, $not, $nor — आणि फिल्टरमध्ये अनेक फील्डचा अंतर्निहित AND वापर करून क्वेरी अटी एकत्रित करते. हे तुम्हाला जटिल क्वेरी लॉजिक व्यक्त करू देते आणि तुम्हाला हवेत तसे डॉक्युमेंट्स शोधू देते.
MongoDB लॉजिकल ऑपरेटर — $and, $or, $not, $nor — आणि फिल्टरमध्ये अनेक फील्डचा अंतर्निहित AND वापर करून क्वेरी अटी एकत्रित करते. हे तुम्हाला जटिल क्वेरी लॉजिक व्यक्त करू देते आणि तुम्हाला हवेत तसे डॉक्युमेंट्स शोधू देते.
// multiple fields in one filter = AND (all must match)
db.users.find({ active: true, age: { $gt: 18 } });
// → active = true AND age > 18 (no explicit $and needed)
सर्वात सोपे प्रकरण: फिल्टरमध्ये अनेक अटी लिहिल्या तर ते अंतर्निहितपणे AND होतात — सर्व अटी जुळणे आवश्यक आहे.
// $or takes an array of conditions; a document matches if ANY is true
db.users.find({
$or: [
{ age: { $lt: 18 } },
{ age: { $gt: 65 } }
]
});
// → age < 18 OR age > 65
// usually implicit, but $and is needed when combining conditions on the SAME field
db.products.find({
$and: [
{ price: { $gt: 100 } },
{ price: { $lt: 500 } }
]
});
// (often you can write { price: { $gt: 100, $lt: 500 } } instead — cleaner)
// $and is also useful to combine $or groups:
db.users.find({
$and: [
{ $or: [{ role: "admin" }, { role: "editor" }] },
{ active: true }
]
});
db.products.find({ price: { $not: { $gt: 100 } } }); // NOT (price > 100) → price <= 100 or missing
db.users.find({ $nor: [{ active: true }, { premium: true }] }); // NEITHER condition true
// real queries combine logical + comparison operators
db.orders.find({
status: "shipped", // implicit AND
$or: [
{ total: { $gt: 1000 } },
{ priority: "high" }
]
});
// → status = shipped AND (total > 1000 OR priority = high)
लॉजिकल ऑपरेटर MongoDB मध्ये जटिल क्वेरी अटी व्यक्त करण्यासाठी आवश्यक आहेत — वास्तविक क्वेरीला अनेकदा एकापेक्षा अधिक अटी (AND/OR लॉजिकसह अनेक निकष एकत्रित करणे) आवश्यक असते, त्यामुळे त्यांना समजून घेणे डेटा प्रभावीपणे फिल्टर करण्यासाठी मूलभूत दैनंदिन ज्ञान आहे.
अनेक फील्ड्सचा अंतर्निहित AND जाणून घेणे (सर्वात सोपे, सर्वात सामान्य प्रकरण — अटी लिहिणे जी सर्व जुळणे आवश्यक आहे), $or (अनेक अटींपैकी कोणत्याही जुळवणे — पर्याय करण्याची वारंवार आवश्यकता), $and (स्पष्ट AND, समान फील्डवरील अटी एकत्रित करण्यासाठी किंवा $or क्लॉज गटबद्ध करण्यासाठी आवश्यक), आणि $not/$nor (नकारात्मकता) लॉजिकल बिल्डिंग ब्लॉक्स समजते जे क्वेरी आवश्यकता व्यक्त करण्यासाठी आवश्यक आहे.
लॉजिकल आणि तुलना ऑपरेटर कशा एकत्रित करायचे हे समजणे ("status shipped आणि (total > 1000 किंवा priority high)" सारख्या क्वेरी तयार करणे) वास्तविक, बहु-अटी असलेल्या क्वेरीसाठी आवश्यक आहे जी अनुप्रयोगांना हवेत असते.
जटिल निकष जुळवणार्या डॉक्युमेंट्स शोधणे ही सामान्य आवश्यकता आहे, आणि MongoDB चे लॉजिकल ऑपरेटर (अंतर्निहित AND, $or, $and, $not/$nor) हा हा लॉजिक व्यक्त करण्याचा मार्ग आहे — तुलना ऑपरेटरसह वास्तविक अटींसाठी — लॉजिकल ऑपरेटर समजून घेणे हे आवश्यक, वारंवार लागू होणारे MongoDB ज्ञान आहे प्रभावी क्वेरी लिहिण्यासाठी, SQL WHERE क्लॉजमध्ये AND/OR/NOT मास्टर करण्याच्या समतुल्य, आणि हवेत असलेल्या डॉक्युमेंट्स अगदी अचूक शोधण्यासाठी आवश्यक आहे जटिल अटींसह जी वास्तविक अनुप्रयोग मागतात.