반응형
{
"_id" : ObjectId("5f856dc29e4ddf2b95dc538b"),
"intent" : "Library",
"typeArray" : [
{
"reqType" : "type1",
"executeInfo" : [
null,
{
"serviceType" : "md",
"serviceData" : [
null
]
}
]
},
{
"reqType" : "type2",
"executeInfo" : [
null,
{
"serviceType" : "md",
"serviceData" : []
},
{
"serviceType" : "html",
"serviceData" : [
{
"searchData" : {
"libName" : "은평",
"floor" : "1층"
},
"returnData" : "1"
}
]
}
]
},
{
"reqType" : "type3",
"executeInfo" : [
null,
{
"serviceType" : "md",
"serviceData" : []
}
]
}
]
}
db.getCollection('intent_service_2').find({"typeArray.executeInfo" : {$eq: null}})
typeArray 배열 안에 executeInfo 배열 안에 값이 null과 같으면 모든 document를 뽑아낸다.
find 함수는 document 단위로 조회하기 때문에 특정 도큐먼트의 특정 필드 값을 추출하려면 aggregate를 활용해야한다.
db.getCollection('intent_service_2').find({"typeArray.executeInfo" : {$ne: null}})
반대로 "typeArray.executeInfo" 필드 값이 null이 아닌 경우 조회
반응형
'IT > MongoDB' 카테고리의 다른 글
arrayFilters (0) | 2021.04.13 |
---|---|
$rename (Update Operators/Field Update Operators) (0) | 2021.04.12 |
$unset (Field Update Operators) (0) | 2021.04.12 |
JSON.parse() 활용하여 몽고디비 필드 동적 생성 (0) | 2021.04.11 |
몽고디비 - findOneAndUpdate (0) | 2020.06.13 |