Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Kiểm tra mảng không rỗng trong MongoDB

Sử dụng toán tử $size kết hợp với $not. Tạo collection với document:

> 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") }

Hiển thị tất cả document:

> db.checkIfListIsNotEmptyDemo.find().pretty();

Kết quả:

{ "_id" : ObjectId("5cdd99e8bf3115999ed511f7"), "UserFriendGroup" : [ "John", "David" ] }
{ "_id" : ObjectId("5cdd99e9bf3115999ed511f8"), "UserFriendGroup" : [ "Carol" ] }
{ "_id" : ObjectId("5cdd99ebbf3115999ed511f9"), "UserFriendGroup" : [ ] }
{ "_id" : ObjectId("5cdd99f2bf3115999ed511fa"), "UserFriendGroup" : [ null ] }
{ "_id" : ObjectId("5cdd99f6bf3115999ed511fb"), "UserFriendGroup" : [ ] }

Truy vấn tìm document có mảng UserFriendGroup KHÔNG rỗng (size != 0):

> db.checkIfListIsNotEmptyDemo.find({'UserFriendGroup': {'$not': {'$size': 0}}});

Kết quả (loại bỏ 2 document có mảng rỗng, giữ lại document có null vì size = 1):

{ "_id" : ObjectId("5cdd99e8bf3115999ed511f7"), "UserFriendGroup" : [ "John", "David" ] }
{ "_id" : ObjectId("5cdd99e9bf3115999ed511f8"), "UserFriendGroup" : [ "Carol" ] }
{ "_id" : ObjectId("5cdd99f2bf3115999ed511fa"), "UserFriendGroup" : [ null ] }