Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tìm kiếm nhiều trường cho nhiều giá trị trong MongoDB?

Để tìm kiếm nhiều trường cho nhiều giá trị trong MongoDB, bạn có thể sử dụng toán tử $ text và $ search. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu

>db.searchMultipleFieldsDemo.insertOne({"_id":100,"FirstSubject":"Java","SecondSubject":"MongoDB"});
{ "acknowledged" : true, "insertedId" : 100 }
>db.searchMultipleFieldsDemo.insertOne({"_id":101,"FirstSubject":"MongoDB","SecondSubject":"MySQL"});
{ "acknowledged" : true, "insertedId" : 101 }
>db.searchMultipleFieldsDemo.insertOne({"_id":102,"FirstSubject":"MySQL","SecondSubject":"Java"});
{ "acknowledged" : true, "insertedId" : 102 }

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find ()

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

Điều này sẽ tạo ra kết quả sau

{ "_id" : 100, "FirstSubject" : "Java", "SecondSubject" : "MongoDB" }
{ "_id" : 101, "FirstSubject" : "MongoDB", "SecondSubject" : "MySQL" }
{ "_id" : 102, "FirstSubject" : "MySQL", "SecondSubject" : "Java" }

Sau đây là truy vấn để tìm kiếm nhiều trường cho nhiều giá trị trong MongoDB

> db.searchMultipleFieldsDemo.find({"$text":{"$search":"Java MongoDB"}});

Điều này sẽ tạo ra kết quả sau

{ "_id" : 102, "FirstSubject" : "MySQL", "SecondSubject" : "Java" }
{ "_id" : 100, "FirstSubject" : "Java", "SecondSubject" : "MongoDB" }
{ "_id" : 101, "FirstSubject" : "MongoDB", "SecondSubject" : "MySQL" }