MongoDB-এ অ্যারে ফিল্ড খালি নয় (অর্থাৎ একটুও এলিমেন্ট আছে) কিনা তা যাচাই করতে $size অপারেটর সহ $not ব্যবহার করুন।
উদাহরণ
বিভিন্ন অবস্থার অ্যারে সহ ডকুমেন্ট তৈরি করুন:
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":["John","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd99e8bf3115999ed511f7") }
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":["Carol"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd99e9bf3115999ed511f8") }
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd99ebbf3115999ed511f9") }
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[null]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd99f2bf3115999ed511fa") }
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdd99f6bf3115999ed511fb") }
সকল ডকুমেন্ট দেখুন:
> db.checkIfListIsNotEmptyDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cdd99e8bf3115999ed511f7"), "UserFriendGroup" : [ "John", "David" ] }
{ "_id" : ObjectId("5cdd99e9bf3115999ed511f8"), "UserFriendGroup" : [ "Carol" ] }
{ "_id" : ObjectId("5cdd99ebbf3115999ed511f9"), "UserFriendGroup" : [ ] }
{ "_id" : ObjectId("5cdd99f2bf3115999ed511fa"), "UserFriendGroup" : [ null ] }
{ "_id" : ObjectId("5cdd99f6bf3115999ed511fb"), "UserFriendGroup" : [ ] }
খালি নয় এমন অ্যারে থাকা ডকুমেন্ট বের করা
> db.checkIfListIsNotEmptyDemo.find({'UserFriendGroup': {'$not': {'$size': 0}}});
আউটপুট:
{ "_id" : ObjectId("5cdd99e8bf3115999ed511f7"), "UserFriendGroup" : [ "John", "David" ] }
{ "_id" : ObjectId("5cdd99e9bf3115999ed511f8"), "UserFriendGroup" : [ "Carol" ] }
{ "_id" : ObjectId("5cdd99f2bf3115999ed511fa"), "UserFriendGroup" : [ null ] }
ব্যাখ্যা:
$size: 0— অ্যারের সাইজ ০ (খালি) কিনা চেক করে।$not— সেটি নেগেট করে, অর্থাৎ সাইজ ০ নয় (১ বা বেশি)।nullমান থাকা অ্যারে ([null]) খালি নয়, সাইজ ১, তাই ফলাফলে এসেছে।
বিকল্প: MongoDB ৪.৪+ এ $expr এবং $gt ব্যবহার করেও করা যায়: {$expr: {$gt: [{$size: "$UserFriendGroup"}, 0]}}।