MongoDB 데이터베이스에 컬렉션이 있습니다. 각 문서에는 다음과 같은 하나의 개체 필드가 있습니다.
name: {
"en-US": "Foo",
"es-ES": "Bar"
...
}
en-US
키는 존재 보장하지만, 다른 키 / 값은 없습니다입니다.
결과에 필드가 포함되고 해당 필드 name
의 값이 내가 전달한 언어 ( es-ES
일자) 또는 해당 키가 존재하지 않는 경우 값이 되는 방식으로 문서를 쿼리 할 수있는 방법이 있습니까? en-US
?
내 문제를 다음과 같이 해결했습니다.
db.products.aggregate([
{
$project: {
short_id: 1,
name: {
$cond: {
if: {
$eq: ["$name.es-ES", undefined]
},
then: '$name.en-EN',
else: '$name.es-ES'
}
}
}
}
])
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다