MongoDB에서 여러 값에 대한 여러 필드를 검색하려면 $text 및 $search 연산자를 사용할 수 있습니다. 먼저 문서로 컬렉션을 생성하겠습니다.
>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 }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.searchMultipleFieldsDemo.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : 100, "FirstSubject" : "Java", "SecondSubject" : "MongoDB" } { "_id" : 101, "FirstSubject" : "MongoDB", "SecondSubject" : "MySQL" } { "_id" : 102, "FirstSubject" : "MySQL", "SecondSubject" : "Java" }
다음은 MongoDB에서 여러 값에 대해 여러 필드를 검색하는 쿼리입니다.
> db.searchMultipleFieldsDemo.find({"$text":{"$search":"Java MongoDB"}});
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : 102, "FirstSubject" : "MySQL", "SecondSubject" : "Java" } { "_id" : 100, "FirstSubject" : "Java", "SecondSubject" : "MongoDB" } { "_id" : 101, "FirstSubject" : "MongoDB", "SecondSubject" : "MySQL" }