반응형
MongoDB : 필드가 null이거나 설정되지 않은 레코드를 쿼리하는 방법은 무엇입니까?
날짜 필드 가있는 Email
문서가 있습니다 sent_at
.
{
'sent_at': Date( 1336776254000 )
}
이이 경우 Email
전송되지는 sent_at
필드 중 하나를 널 (null), 또는 존재하지 않는 것입니다.
보낸 / 보내지 않은 모든 수를 가져와야 Emails
합니다. 이 정보를 쿼리하는 올바른 방법을 찾으려고 노력하고 있습니다. 나는 이것이 보낸 수를 얻는 올바른 방법이라고 생각합니다.
db.emails.count({sent_at: {$ne: null}})
하지만 전송되지 않은 항목의 수는 어떻게 구해야합니까?
sent_at 필드가 설정되지 않았는데 거기에 없으면 :
db.emails.count({sent_at: {$exists: false}})
거기에 null이 있거나 전혀없는 경우 :
db.emails.count({sent_at: null})
sent_at
값 으로 정의 된 문서 만 계산하려는 경우 null
( sent_at
설정되지 않은 문서는 계산하지 않음 ) :
db.emails.count({sent_at: { $type: 10 }})
사용하다:
db.emails.count({sent_at: null})
sent_at 속성이 null이거나 설정되지 않은 모든 이메일을 계산합니다. 위 쿼리는 아래와 같습니다.
db.emails.count($or: [
{sent_at: {$exists: false}},
{sent_at: null}
])
한 줄만 할 수 있습니다.
{ "sent_at": null }
다음을 시도해 볼 수도 있습니다.
db.emails.find($and:[{sent_at:{$exists:true},'sent_at':null}]).count()
반응형
'program story' 카테고리의 다른 글
레지스트리 키 '…'의 값은 '1.7'이지만 '1.6'이 필요합니다. (0) | 2020.08.26 |
---|---|
Rails에서 속성의 원래 값을 얻는 방법 (0) | 2020.08.26 |
ArrayList에서 항목 제거 (0) | 2020.08.25 |
로컬 파일을 덮어 쓰지 않고 원격에서 파일을 가져 오려면 어떻게해야합니까? (0) | 2020.08.25 |
영구 PowerShell 별칭을 만드는 방법 (0) | 2020.08.25 |