Để thực hiện điều này, sử dụng regex trong phương thức find() của MongoDB. Trước tiên, tạo collection với dữ liệu mẫu:
> db.demo228.insertOne({"Subjects":["MongoDB","Java"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3fa51f03d395bdc213473b") }
> db.demo228.insertOne({"Subjects":["MongoDB","Java","MySQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3fa52c03d395bdc213473c") }
Hiển thị tất cả tài liệu:
> db.demo228.find();
Kết quả:
{ "_id" : ObjectId("5e3fa51f03d395bdc213473b"), "Subjects" : [ "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e3fa52c03d395bdc213473c"), "Subjects" : [ "MongoDB", "Java", "MySQL" ] }
Truy vấn tìm tài liệu có ít nhất một phần tử không phải là "MongoDB" hoặc "Java":
> db.demo228.find({ "Subjects": /^(?!MongoDB|Java)/ });
Kết quả chỉ trả về tài liệu chứa "MySQL":
{ "_id" : ObjectId("5e3fa52c03d395bdc213473c"), "Subjects" : [ "MongoDB", "Java", "MySQL" ] }