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

Truy vấn tài liệu có mảng size lớn hơn 1 trong MongoDB

Dùng toán tử $where với length để truy vấn tài liệu có kích thước mảng > 1:

db.yourCollectionName.find({$where:"this.yourArrayDocumentName.length > 1"}).pretty();

Tạo collection ví dụ:

>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Larry","StudentTechnicalSubject":["Java","C","C++"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d6c4c0c3d5054b766a76a") }
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSubject":["MongoDB"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d6c660c3d5054b766a76b") }
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSubject":["MySQL","SQL Server","PL/SQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d6c800c3d5054b766a76c") }

Hiển thị tất cả:

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

Truy vấn mảng size > 1:

> db.arrayLengthGreaterThanOne.find({$where:"this.StudentTechnicalSubject.length > 1"}).pretty();

Kết quả (chỉ 2 tài liệu có mảng > 1 phần tử):

{ "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"), "StudentName" : "Larry", "StudentTechnicalSubject" : [ "Java", "C", "C++" ] }
{ "_id" : ObjectId("5c6d6c800c3d5054b766a76c"), "StudentName" : "Maxwell", "StudentTechnicalSubject" : [ "MySQL", "SQL Server", "PL/SQL" ] }