-1
전체 문서가 아니라 단지 키와 값을 가져 오기 위해 찾기 문장을 만드는 데 어려움을 겪고 있습니다. 이 문서는 다음과 같습니다. 나는 코드 기준에 따라 이름과 코드 만 검색하려고한다. 예 : 나는 {"code" : { $in : ["js" , "dns"}} , {"name"}}
같은 것을 배치 할 때 나는 ... 같은 것을받을 내 말은문서 내부의 값 찾기
[
{
"code" : "js",
"name" : "Java Script",
"skillType" : "programming"
},
{
"code" : "dns",
"name" : "DNS",
"skillType" : "networking"
}
]
싶습니다 : 문서의 한 부분이 아닌 전체 문서를 포함한 배열 - 내 기준과 일치합니다. 이 기본적인 필요를 찾기 위해 올바른 방법은 무엇입니까?
db.collectionname.aggregate([
{$unwind:"$skillSet"},
{$match:{"skillSet.code":{$in:["dns","js"]}}},
{$project:{skillSet:1, _id:0}},
{$group: { _id: null, skill: { $push: "$$ROOT" } }}
])
그리고 결과 : 샘플 데이터를 사용하여,
집계 명령을 : 나는 당신이 아주 가까이 얻을 수 집계 프레임 워크를 사용하여 생각
{
"_id" : ObjectId("53a1c40c9b97ebe1e5ad659e"),
"type" : "SkillSets",
"skillSet" : [
{
"code" : "js",
"name" : "Java Script",
"skillType" : "programming"
},
{
"code" : "mong",
"name" : "MongoDB",
"skillType" : "database"
},
{
"code" : "dns",
"name" : "DNS",
"skillType" : "networking"
}
]
}