$ne
. का उपयोग करने के तरीके के बारे में आपके प्रश्न का उत्तर देना :
$ne
का इस्तेमाल
इस प्रकार है:
"field":{
"$ne": yourValue
}
आपकी क्वेरी में इस तरह होना चाहिए:
"user._id": {
"$ne": req.user.id
}
उदाहरण यहां
$ne
ऑपरेटर सभी दस्तावेज़ लौटाएगा जहाँ फ़ील्ड मान दिए गए मान से मेल नहीं खाता।
जैसा कि आपने किया है, नेस्टेड फ़ील्ड को एक्सेस करने के लिए डॉट नोटेशन का उपयोग करना आवश्यक है।
साथ ही, यह सुनिश्चित करने के लिए कि यह काम करता है, यदि आपकी स्कीमा _id
. को परिभाषित करती है ObjectId
. के रूप में शायद आवश्यक पार्स req.user.id
. है करने के लिए ObjectId
.
लेकिन अगर आपकी स्कीमा में एक स्ट्रिंग है तो काम करना चाहिए।
तो कोशिश करें (बिल्कुल परीक्षण नहीं किया गया):
const injected = {
'user._id': { "$ne": req.user.id }
};