MongoDB में उन रिकॉर्ड को खोजने के लिए जिनका ऐरे फील्ड खाली नहीं है, $ne (नॉट इक्वल) ऑपरेटर का उपयोग करें।
उदाहरण से समझें
एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं - कुछ में ऐरे खाली है और कुछ में डेटा है:
> db.arrayFieldIsNotEmptyDemo.insertOne({"StudentName": "Larry", "StudentTechnicalSubject": ["Java", "C"]});
> db.arrayFieldIsNotEmptyDemo.insertOne({"StudentName": "Mike", "StudentTechnicalSubject": []});
> db.arrayFieldIsNotEmptyDemo.insertOne({"StudentName": "Sam", "StudentTechnicalSubject": ["MongoDB"]});
> db.arrayFieldIsNotEmptyDemo.insertOne({"StudentName": "Carol", "StudentTechnicalSubject": []});
> db.arrayFieldIsNotEmptyDemo.insertOne({"StudentName": "David", "StudentTechnicalSubject": ["MySQL", "SQL Server"]});
सभी डॉक्यूमेंट देखने के लिए:
> db.arrayFieldIsNotEmptyDemo.find().pretty();
आउटपुट:
{ "_id": ..., "StudentName": "Larry", "StudentTechnicalSubject": ["Java", "C"] }
{ "_id": ..., "StudentName": "Mike", "StudentTechnicalSubject": [] }
{ "_id": ..., "StudentName": "Sam", "StudentTechnicalSubject": ["MongoDB"] }
{ "_id": ..., "StudentName": "Carol", "StudentTechnicalSubject": [] }
{ "_id": ..., "StudentName": "David", "StudentTechnicalSubject": ["MySQL", "SQL Server"] }
अब खाली न होने वाले ऐरे वाले रिकॉर्ड खोजने के लिए क्वेरी:
> db.arrayFieldIsNotEmptyDemo.find({StudentTechnicalSubject: {$exists: true, $ne: []}}).pretty();
आउटपुट:
{ "_id": ..., "StudentName": "Larry", "StudentTechnicalSubject": ["Java", "C"] }
{ "_id": ..., "StudentName": "Sam", "StudentTechnicalSubject": ["MongoDB"] }
{ "_id": ..., "StudentName": "David", "StudentTechnicalSubject": ["MySQL", "SQL Server"] }
क्वेरी {$exists: true, $ne: []} सुनिश्चित करती है कि फील्ड मौजूद हो और वह खाली ऐरे न हो।