조합의 경우 $concat을 사용하고 $eq를 사용하여 동등성을 확인합니다. 문서로 컬렉션을 만들자 −
> db.demo502.insertOne({"FirstName":"John","LastName":"Smith"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e875534987b6e0e9d18f56d")
}
> db.demo502.insertOne({"FirstName":"David","LastName":"Miller"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e87553e987b6e0e9d18f56e")
}
> db.demo502.insertOne({"FirstName":"John","LastName":"Doe"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e875543987b6e0e9d18f56f")
} find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo502.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : ObjectId("5e875534987b6e0e9d18f56d"), "FirstName" : "John", "LastName" : "Smith"
}
{ "_id" : ObjectId("5e87553e987b6e0e9d18f56e"), "FirstName" : "David", "LastName" : "Miller"
}
{ "_id" : ObjectId("5e875543987b6e0e9d18f56f"), "FirstName" : "John", "LastName" : "Doe" } 다음은 필드 조합에서 찾는 쿼리입니다. −
> db.demo502.aggregate(
... [
... { "$redact": {
... "$cond": [
... { "$eq": [
... { "$concat": [ "$FirstName", " ", "$LastName" ] },
... "John Doe"
... ]},
... "$$KEEP",
... "$$PRUNE"
... ]
... }}
... ]
... ) 이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : ObjectId("5e875543987b6e0e9d18f56f"), "FirstName" : "John", "LastName" : "Doe" }