문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ /

null 또는 누락된 필드에 대한 쿼리

이 페이지의 내용

  • 동등성 필터
  • 비동등성 필터
  • 유형 확인
  • 존재 확인
  • MongoDB Atlas를 사용하여 null 또는 누락된 필드 쿼리

다음 메서드를 사용하여 MongoDB에서 null 또는 누락된 필드를 쿼리할 수 있습니다.

  • 프로그래밍 언어의 드라이버입니다.

  • MongoDB Atlas UI. 자세한 내용 은 MongoDB Atlas로 Null 또는 누락된 필드 쿼리를 참조하세요.

  • MongoDB Compass


오른쪽 상단의 언어 선택 드롭다운 메뉴를 사용하여 다음 예제의 언어를 설정하거나 MongoDB Compass를 선택합니다.


MongoDB의 다양한 쿼리 연산자는 null 값을 각각 다르게 처리합니다.

이 페이지에서는mongosh 에서 db.collection.find() 메서드를 사용하여 null 값을 쿼리하는 작업의 예를 제공합니다

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 MongoDB Compass를 사용하여 null 값을 쿼리하는 작업의 예를 제공합니다.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 null MongoCollection.Find() 를 사용하여 값을 쿼리하는 작업의 예를 제공합니다.MongoDB C# 드라이버 의 메서드 .

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 MongoDB Go 드라이버에서 Collection.Find 메서드를 사용하여 null 값에 대해 쿼리하는 작업의 예시를 보여줍니다.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 null com.mongodb.reactivestreams.client.MongoCollection.find 를 사용하여 값을 쿼리하는 작업의 예를 제공합니다. MongoDB Java Reactive Streams 드라이버 의 메서드 .

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 null com.mongodb.client.MongoCollection.find 를 사용하여 값을 쿼리하는 작업의 예를 제공합니다.MongoDB Java Synchronous 드라이버의 메서드입니다.

드라이버는 com.mongodb.client.model.Filters 를 제공합니다. 필터 문서를 쉽게 만들 수 있는 헬퍼 메서드. 이 페이지의 예제에서는 이러한 메서드를 사용하여 필터 문서를 만듭니다.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 Motor 드라이버에서 motor.motor_asyncio.AsyncIOMotorCollection.find 메서드를 사용하여 null 값에 대해 쿼리하는 작업의 예시를 보여줍니다.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 Collection.find ()를 사용하여 null 값을 쿼리하는 작업의 예를 제공합니다. MongoDB Node.js 드라이버의 메서드.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 MongoDB PHP 라이브러리 에서 메서드를 사용하여 MongoDB\\Collection::find() 값을 쿼리하는 작업의 예를 null 제공합니다.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 를 사용하여 null 값을 쿼리하는 pymongo.collection.Collection.find 작업의 예를 제공합니다.메서드 를 제공합니다.

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 MongoDB Ruby Driver 에서 Mongo::Collection#find()메서드를 사용하여 값을 쿼리하는 작업의 예를 제공합니다.null

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

이 페이지에서는 null collection.find() 메서드를 사용하여 값을 쿼리하는 작업의 예를 제공합니다. MongoDB 스칼라 드라이버 의 메서드 .

이 페이지의 예제에서는 inventory 컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory 컬렉션을 만듭니다:

중요

MongoDB C# 드라이버를 사용하여 MongoDB에서 null 또는 누락된 필드를 쿼리하려면 BsonNull.Value을(를) 사용하세요.

중요

MongoDB Go 드라이버와 함께 nil 을(를) 사용하여 MongoDB에서 null 또는 누락된 필드를 쿼리합니다.

중요

None을(를) Motor 드라이버와 함께 사용하여 MongoDB에서 null 또는 누락된 필드를 쿼리할 수 있습니다.

중요

MongoDB에서 null 또는 누락된 필드를 쿼리하려면 PyMongo Python 드라이버와 함께 None을(를) 사용하세요.

중요

MongoDB Ruby 드라이버와 함께 nil 를 사용하여 MongoDB에서 null 또는 누락된 필드를 쿼리합니다.

중요

MongoDB 스칼라 드라이버와 함께 BsonNull() 를 사용하여 MongoDB에서 null 또는 누락된 필드를 쿼리합니다.

db.inventory.insertMany([
{ _id: 1, item: null },
{ _id: 2 }
])
[
{ "_id": 1, "item": null },
{ "_id": 2 }
]

MongoDB Compass에서 문서를 삽입하는 방법은 문서 삽입하기를 참조하세요.

var documents = new[]
{
new BsonDocument { { "_id", 1 }, { "item", BsonNull.Value } },
new BsonDocument { { "_id", 2 } }
};
collection.InsertMany(documents);
docs := []interface{}{
bson.D{
{"_id", 1},
{"item", nil},
},
bson.D{
{"_id", 2},
},
}
result, err := coll.InsertMany(context.TODO(), docs)
Publisher<Success> insertManyPublisher = collection.insertMany(asList(
Document.parse("{'_id': 1, 'item': null}"),
Document.parse("{'_id': 2}")
));
collection.insertMany(asList(
Document.parse("{'_id': 1, 'item': null}"),
Document.parse("{'_id': 2}")
));
await db.inventory.insert_many([{"_id": 1, "item": None}, {"_id": 2}])
await db.collection('inventory').insertMany([{ _id: 1, item: null }, { _id: 2 }]);
$insertManyResult = $db->inventory->insertMany([
['_id' => 1, 'item' => null],
['_id' => 2],
]);
db.inventory.insert_many([{"_id": 1, "item": None}, {"_id": 2}])
client[:inventory].insert_many([{ _id: 1, item: nil },
{ _id: 2 }])
collection.insertMany(Seq(
Document("""{"_id": 1, "item": null}"""),
Document("""{"_id": 2}""")
)).execute()

{ item : null } 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

{ item : null } 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

FilterDefinitionBuilder.Eq() Eq("item", BsonNull.Value) 를 사용하는 쿼리 메서드는 item 값이 인 필드를 포함 하거나 null item 필드를 포함하지 않는 문서와 일치합니다.

item => nil 쿼리는 값이 nilitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

eq("item", null) 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

eq("item", null) 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

{ item : None } 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

{ item : null } 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

[ item => undef ] 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

{ item : None } 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

{ item => nil } 쿼리는 값이 nilitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

equal("item", BsonNull) 쿼리는 값이 nullitem 필드를 포함하거나 item 필드를 포함하지 않는 문서와 일치합니다.

db.inventory.find( { item: null } )

다음 쿼리 필터 문서를 쿼리 표시줄 에 복사하고 Find 를 클릭합니다.

{ item: null }
null 값 또는 누락된 필드 쿼리
var filter = Builders<BsonDocument>.Filter.Eq("item", BsonNull.Value);
var result = collection.Find(filter).ToList();
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"item", nil},
})
FindPublisher<Document> findPublisher = collection.find(eq("item", null));
FindIterable<Document> findIterable = collection.find(eq("item", null));
cursor = db.inventory.find({"item": None})
const cursor = db.collection('inventory').find({
item: null
});
$cursor = $db->inventory->find(['item' => null]);
cursor = db.inventory.find({"item": None})
client[:inventory].find(item: nil)
var findObservable = collection.find(equal("item", BsonNull()))

쿼리는 컬렉션에 있는 두 문서를 모두 반환합니다.

존재하지만 null이 아닌 필드를 쿼리하려면 { $ne : null } 필터를 사용합니다. { item : { $ne : null } } 쿼리는 item 필드가 존재 하고 null이 아닌 값을 가진 문서와 일치합니다.

db.inventory.find( { item: { $ne : null } } )
{ item: { $ne : null } }
var filter = Builders<BsonDocument>.Filter.Ne("item", BsonNull.Value);
var result = collection.Find(filter).ToList();
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"item", bson.D{"$ne": nil}},
})
db.inventory.find( { item: { $ne : nul l} } )
collection.find($ne("item", null));
cursor = db.inventory.find( { "item": { "$ne": None } } )
const cursor = db.collection('inventory')
.find({ item: { $ne : null }
});
$cursor = $db->inventory->find(['item' => ['$ne' => null ]]);
cursor = db.inventory.find( { "item": { "$ne": None } } )
client[:inventory].find(item: { '$ne' => nil })
collection.find($ne("item", null));

{ item : { $type: 10 } } 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

{ item : { $type: 10 } } 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

Type("item", BsonType.Null) FilterDefinitionBuilder.Type() 을 사용하는 쿼리 메서드는 item 값이 인 필드를 포함하는 문서 만 null 일치합니다. 필드의 값은 item BSON Type Null (BSON Type 10)입니다.

다음 쿼리는 값이 item BSON Type Null (BSON Type 10)인 필드가 포함된 문서 만 일치합니다.

type("item", BsonType.NULL) 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

type("item", BsonType.NULL) 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

type("item", BsonType.NULL) 쿼리는 값이 nullitem 필드가 포함된 문서 일치합니다. 즉, item 필드의 값이 BSON Type Null (BSON Type 10 입니다.

{ item : { $type: 10 } } 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

{ item : { $type: 10 } } 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

[ item => [ $type => 10 ] ] 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

{ item : { $type: 10 } } 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

{ item => { $type => 10 } } 쿼리는 item 필드의 값이 null인, 즉 item 필드의 값이 BSON Type Null (BSON 유형 10)인 문서만 일치합니다.

db.inventory.find( { item : { $type: 10 } } )

다음 쿼리 필터 문서를 쿼리 표시줄 에 복사하고 Find 를 클릭합니다.

{ item : { $type: 10 } }
null 유형 찾기
var filter = Builders<BsonDocument>.Filter.Type("item", BsonType.Null);
var result = collection.Find(filter).ToList();
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"item", bson.D{
{"$type", 10},
}},
})
findPublisher = collection.find(type("item", BsonType.NULL));
findIterable = collection.find(type("item", BsonType.NULL));
cursor = db.inventory.find({"item": {"$type": 10}})
const cursor = db.collection('inventory').find({
item: { $type: 10 }
});
$cursor = $db->inventory->find(['item' => ['$type' => 10]]);
cursor = db.inventory.find({"item": {"$type": 10}})
client[:inventory].find(item: { '$type' => 10 })
findObservable = collection.find(bsonType("item", BsonType.NULL))

쿼리는 item 필드 값이 null에 해당하는 문서만 반환합니다.

다음 예시에서는 필드가 포함되지 않은 문서를 쿼리합니다. [1]

{ item : { $exists: false } } 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

{ item : { $exists: false } } 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

FilterDefinitionBuilder.Exists() 메서드를 사용하는 Exists("item", false) 쿼리는 item 필드를 포함하지 않는 문서와 일치합니다.

exists("item", false) 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

exists("item", false) 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

{ item : { $exists: False } } 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

{ item : { $exists: false } } 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

[ item => [ $exists => false ] ] 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

{ item : { $exists: False } } 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

{ item => { $exists => false } } 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

exists("item", exists = false) 쿼리는 item 필드를 포함하지 않는 문서와일치합니다:

db.inventory.find( { item : { $exists: false } } )

다음 쿼리 필터 문서를 쿼리 표시줄 에 복사하고 Find 를 클릭합니다.

{ item : { $exists: false } }
null 값 쿼리
var filter = Builders<BsonDocument>.Filter.Exists("item", false);
var result = collection.Find(filter).ToList();
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"item", bson.D{
{"$exists", false},
}},
})
findPublisher = collection.find(exists("item", false));
findIterable = collection.find(exists("item", false));
cursor = db.inventory.find({"item": {"$exists": False}})
const cursor = db.collection('inventory').find({
item: { $exists: false }
});
$cursor = $db->inventory->find(['item' => ['$exists' => false]]);
cursor = db.inventory.find({"item": {"$exists": False}})
client[:inventory].find(item: { '$exists' => false })
findObservable = collection.find(exists("item", exists = false))

쿼리는 item 필드가 포함되지 않은 문서만 반환합니다.

다음도 참조하세요.

$type$exists 연산자에 대한 참조 문서입니다.

[1] 사용자는 더 이상 쿼리 필터 $type: 0$exists:false의 동의어로 사용할 수 없습니다. null 또는 누락된 필드를 쿼리하려면 null 또는 누락된 필드 쿼리를 확인합니다.

이 섹션의 예시에서는 샘플 교육 데이터세트를 사용합니다. MongoDB Atlas 배포에 샘플 데이터세트를 로드하는 방법을 알아보려면 샘플 데이터 로드를 참조하세요.

null 또는 누락된 필드를 MongoDB Atlas에서 쿼리하려면 다음 단계를 수행합니다.

1
  1. 이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.

    클러스터 페이지가 표시됩니다.

2
  1. 샘플 데이터가 포함된 클러스터의 경우 Browse Collections 을 클릭합니다.

  2. 왼쪽 탐색 창에서 sample_training 데이터베이스를 선택합니다.

  3. companies 컬렉션을 선택합니다.

3

Insert Document 버튼을 클릭하여 대화 상자를 표시한 다음 Insert를 선택하여 _id 필드만 존재하는 문서를 삽입합니다.

4

null 또는 누락된 값이 포함된 문서를 찾으려면 Filter 필드에서 쿼리 필터 문서를 지정합니다. 쿼리 필터 문서는 쿼리 연산자를 사용하여 검색 조건을 지정합니다.

MongoDB의 다양한 쿼리 연산자는 null 값을 다르게 처리합니다. 쿼리 필터를 적용하려면 다음 각 문서를 Filter 검색창에 복사하고 Apply를 클릭합니다.

다음 쿼리 필터를 사용하여 null 값과 함께 description 필드를 포함하거나 description 필드를 포함하지 않는 문서를 일치시킵니다.

{ description : null }

다음 쿼리 필터를 사용하면 null 값이 있는 description 필드가 포함된 문서만 일치시킬 수 있습니다. 이 필터는 필드 값이 BSON 유형 Null(BSON 유형 10)에 해당해야 한다고 지정합니다.

{ description : { $type: 10 } }

description 필드가 포함되지 않은 문서만 일치시키려면 다음 쿼리 필터를 사용합니다. 이전에 삽입한 문서만 표시됩니다.

{ description : { $exists: false } }

돌아가기

프로젝트 결과