그래서 필드 세트가 있고 null이 아닌 모든 레코드를 찾으려고합니다.
내가 사용하려고 $exists
하지만에 따르면 , MongoDB를 문서 이 쿼리가 null 동일 필드를 반환합니다.
$exists
널값을 저장하는 필드가 포함 된 문서와 일치합니다.
이제는 다음과 같이해야한다고 가정합니다.
db.collection.find({ "fieldToCheck" : { $exists : true, $not : null } })
그러나이 작업을 시도 할 때마다 오류가 발생 [invalid use of $not]
합니다.
답변
사용 $ne
( “같지 않음”)
db.collection.find({ "fieldToCheck": { $exists: true, $ne: null } })
답변
아래와 같은 컬렉션이 있다고 가정합니다.
{
"_id":"1234"
"open":"Yes"
"things":{
"paper":1234
"bottle":"Available"
"bottle_count":40
}
}
보틀 필드가 있는지 여부를 알고 싶습니까?
답변 :
db.products.find({"things.bottle":{"$exists":true}})
답변
나는 이것이 나를 위해 작동하는 것을 발견
db.getCollection('collectionName').findOne({"fieldName" : {$ne: null}})