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

Thực hiện truy vấn AND trên mảng trong MongoDB?

Để đạt hiệu ứng AND trên mảng, dùng toán tử $all. Tạo collection:

> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["C","Java","MongoDB","MySQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc73e7a8f9e6ff3eb0ce433") }
> db.andQueryDemo.insertOne({"StudentName":"David Miller","FavouriteSubject":["C++","Java","MongoDB","SQL Server"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc73ea48f9e6ff3eb0ce434") }
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["Python","PL/SQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc73ed38f9e6ff3eb0ce435") }

Hiển thị tất cả:

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

Kết quả:

{ "_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"), "StudentName" : "Carol Taylor", "FavouriteSubject" : [ "C", "Java", "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"), "StudentName" : "David Miller", "FavouriteSubject" : [ "C++", "Java", "MongoDB", "SQL Server" ] }
{ "_id" : ObjectId("5cc73ed38f9e6ff3eb0ce435"), "StudentName" : "Carol Taylor", "FavouriteSubject" : [ "Python", "PL/SQL" ] }

Truy vấn tìm document có mảng chứa CẢ "Java" VÀ "MongoDB":

> db.andQueryDemo.find({FavouriteSubject:{$all:["Java","MongoDB"]}}).pretty();

Kết quả: