MongoDB 문서에서 특수 문자가 포함된 문자열을 검색하려면 \를 사용할 수 있습니다. 여기 문자열에 특수 문자 $가 있습니다.
먼저 다음 쿼리를 구현하여 문서가 포함된 컬렉션을 생성해 보겠습니다.
>db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Smith$John123","UserFirstName":"John","UserLastName":"Smith"}); { "acknowledged" : true, "insertedId" : ObjectId("5c987b98330fd0aa0d2fe4b1") } >db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Taylor$Carol983","UserFirstName":"Carol","UserLastName":"Taylor"}); { "acknowledged" : true, "insertedId" : ObjectId("5c987bdb330fd0aa0d2fe4b2") } >db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Doe$John999","UserFirstName":"John","UserLastName":"Doe"}); { "acknowledged" : true, "insertedId" : ObjectId("5c987bee330fd0aa0d2fe4b3") } >db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Miller$David555","UserFirstName":"David","UserLastName":"Miller"}); { "acknowledged" : true, "insertedId" : ObjectId("5c987c01330fd0aa0d2fe4b4") }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.searchDocumentWithSpecialCharactersDemo.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c987b98330fd0aa0d2fe4b1"), "UserId" : "Smith$John123", "UserFirstName" : "John", "UserLastName" : "Smith" } { "_id" : ObjectId("5c987bdb330fd0aa0d2fe4b2"), "UserId" : "Taylor$Carol983", "UserFirstName" : "Carol", "UserLastName" : "Taylor" } { "_id" : ObjectId("5c987bee330fd0aa0d2fe4b3"), "UserId" : "Doe$John999", "UserFirstName" : "John", "UserLastName" : "Doe" } { "_id" : ObjectId("5c987c01330fd0aa0d2fe4b4"), "UserId" : "Miller$David555", "UserFirstName" : "David", "UserLastName" : "Miller" }
다음은 MongoDB 문서에서 특수문자로 문자열을 검색하는 쿼리이다. 여기서 특수 문자 $
가 있는 문자열 John을 검색합니다.> db.searchDocumentWithSpecialCharactersDemo.find({ UserId : /.*\$John.*/i }).pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c987b98330fd0aa0d2fe4b1"), "UserId" : "Smith$John123", "UserFirstName" : "John", "UserLastName" : "Smith" } { "_id" : ObjectId("5c987bee330fd0aa0d2fe4b3"), "UserId" : "Doe$John999", "UserFirstName" : "John", "UserLastName" : "Doe" }