[MONGODB] MongoDB를 : 필드가 null 여부를 설정합니다 어디에 어떻게 레코드를 조회하려면?
MONGODBMongoDB를 : 필드가 null 여부를 설정합니다 어디에 어떻게 레코드를 조회하려면?
나는 sent_at 날짜 필드가 이메일 문서가 :
{
'sent_at': Date( 1336776254000 )
}
이 이메일이 전송되지 않은 경우, sent_at 필드 중 하나를 널 (null), 또는 존재하지 않는 것입니다.
나는 모든 보냈습니다 / 보내지 않은 이메일의 수를 얻을 필요가있다. 나는이 정보를 쿼리에 올바른 방법을 알아 내려고 노력에 붙어있어. 나는 이것이 보냈습니다 수를 얻을 수있는 올바른 방법이라고 생각 :
db.emails.count({sent_at: {$ne: null}})
그러나 어떻게 보내지지하는 사람들의 수를 얻어야한다?
해결법
-
==============================
1.sent_at이 필드를 잘 작성하지가 있으면 그 다음으로 설정하지 않을 경우 :
sent_at이 필드를 잘 작성하지가 있으면 그 다음으로 설정하지 않을 경우 :
db.emails.count({sent_at: {$exists: false}})
그 거기 널 (null), 또는 거기에 모두 경우 :
db.emails.count({sent_at: null})
쿼리 및 널 여기를 참조하십시오
-
==============================
2.당신은 단지 null 값으로 정의 sent_at와 문서를 계산하려면 (sent_at 설정되지와 문서를 포함되지 않습니다)
당신은 단지 null 값으로 정의 sent_at와 문서를 계산하려면 (sent_at 설정되지와 문서를 포함되지 않습니다)
db.emails.count({sent_at: { $type: 10 }})
-
==============================
3.용도:
용도:
db.emails.count({sent_at: null})
어떤 카운트 그 sent_at 재산 null의 경우, 또는 설정되어 있지 않은 모든 이메일을. 위의 쿼리는 다음과 동일합니다.
db.emails.count($or: [ {sent_at: {$exists: false}}, {sent_at: null} ])
-
==============================
4.당신은 단지 하나의 선을 할 수있는 것 같습니다 :
당신은 단지 하나의 선을 할 수있는 것 같습니다 :
{ "sent_at": null }
-
==============================
5.당신이 시도 할 수 있습니다 :
당신이 시도 할 수 있습니다 :
db.emails.find($and:[{sent_at:{$exists:true},'sent_at':null}]).count()
from https://stackoverflow.com/questions/10591543/mongodb-how-to-query-for-records-where-field-is-null-or-not-set by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 메모리 사용량을 제한 할 수있는 옵션이 있습니까? (0) | 2019.12.06 |
---|---|
[MONGODB] 여러 배열 항목에서 찾을 수 MongoDB를 (0) | 2019.12.06 |
[MONGODB] MongoDB를-CR 인증에 실패했습니다 (0) | 2019.12.06 |
[MONGODB] MongoDB의에서 $ 언 와인드 연산자는 무엇입니까? (0) | 2019.12.06 |
[MONGODB] MongoDB를 집계 비교 : 그룹 (), $ 그룹과 맵리 듀스 (0) | 2019.12.06 |