目前,這是我目前的檔案:
{
_id: 'd283015f-91e9-4404-9202-093c28d6a931',
referencedGeneralPractitioner: [
{
resourceType: 'practitioner',
cachedIdentifier: [
{
system: { value: 'urn:oid:1.3.6.1.4.1.19126.3' },
value: { value: '14277399B' }
}
]
}
]
}
在這里,有兩個嵌套物件陣列:referencedGeneralPractitioner[{cachedIdentifier[{}]}].
目前,我正在使用此查詢獲得結果:
{
"referencedGeneralPractitioner":{
"$elemMatch":{
"cachedIdentifier.value.value":"14277399B",
"cachedIdentifier.system.value":"urn:oid:1.3.6.1.4.1.19126.3"
}
}
}
它正在獲取我想要的檔案,但我不太清楚上面的查詢是否是我真正想要的。
我的意思是,我只適用$elemMatch于referencedGeneralPractitioner欄位陣列。
- 真的夠了嗎?
- 我應該添加嵌套
$elemMatch嗎cachedIdentifier?
有任何想法嗎?
uj5u.com熱心網友回復:
看起來您需要像這樣查詢它:
db.collection.find({
"referencedGeneralPractitioner.cachedIdentifier": {
"$elemMatch": {
"value.value": "14277399B",
"system.value": "urn:oid:1.3.6.1.4.1.19126.3"
}
}
})
操場
這是為了以防您需要在嵌套陣列中的任何元素中找到具有 $and 兩個值的完整檔案,如果您需要提取特定元素,則需要 $filter
如果您還需要根據第一個陣列級別中的元素進行搜索,則需要進行如下修改:
{
"referencedGeneralPractitioner": {
"$elemMatch": {
resourceType: 'practitioner',
"cachedIdentifier": {
"$elemMatch": {
"value.value": 1,
"system.value":2
}
}
}
}
}
這將為您提供同時存在 resouceType:"practitioner" 和 { value.value:3 and system.value: 2 } 的所有完整檔案
同樣重要的是要強調這將無法正常作業!:
{
"referencedGeneralPractitioner":{
"$elemMatch":{
"cachedIdentifier.value.value":"14277399B",
"cachedIdentifier.system.value":"urn:oid:1.3.6.1.4.1.19126.3"
}
}
}
因為它會根據嵌套元素中的任何單個值匹配誤報,例如: 錯誤的游樂場
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/418489.html
標籤:
