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"
}