null 또는 누락된 필드에 대한 쿼리
다음 메서드를 사용하여 MongoDB에서 null
또는 누락된 필드를 쿼리할 수 있습니다.
프로그래밍 언어의 드라이버입니다.
MongoDB Atlas UI. 자세한 내용 은 MongoDB Atlas로 Null 또는 누락된 필드 쿼리를 참조하세요.
오른쪽 상단의 언어 선택 드롭다운 메뉴를 사용하여 다음 예제의 언어를 설정하거나 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 }
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
{ item : null }
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
FilterDefinitionBuilder.Eq() Eq("item", BsonNull.Value)
를 사용하는 쿼리 메서드는 item
값이 인 필드를 포함 하거나 null
item
필드를 포함하지 않는 문서와 일치합니다.
item => nil
쿼리는 값이 nil
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
eq("item", null)
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
eq("item", null)
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
{ item : None }
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
{ item : null }
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
[ item => undef ]
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
{ item : None }
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
{ item => nil }
쿼리는 값이 nil
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
equal("item", BsonNull)
쿼리는 값이 null
인 item
필드를 포함하거나 item
필드를 포함하지 않는 문서와 일치합니다.
db.inventory.find( { item: 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)
쿼리는 값이 null
인 item
필드가 포함된 문서 만 일치합니다. 즉, 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 } } )
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 } } )
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
필드가 포함되지 않은 문서만 반환합니다.
[1] | 사용자는 더 이상 쿼리 필터 $type: 0 을 $exists:false 의 동의어로 사용할 수 없습니다. null 또는 누락된 필드를 쿼리하려면 null 또는 누락된 필드 쿼리를 확인합니다. |
MongoDB Atlas를 사용하여 null 또는 누락된 필드 쿼리
이 섹션의 예시에서는 샘플 교육 데이터세트를 사용합니다. MongoDB Atlas 배포에 샘플 데이터세트를 로드하는 방법을 알아보려면 샘플 데이터 로드를 참조하세요.
null
또는 누락된 필드를 MongoDB Atlas에서 쿼리하려면 다음 단계를 수행합니다.
MongoDB Atlas UI에서 Clusters 프로젝트의 페이지로 이동합니다.
이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.
클러스터 페이지가 표시됩니다.
쿼리 필터 문서를 지정합니다.
null
또는 누락된 값이 포함된 문서를 찾으려면 Filter 필드에서 쿼리 필터 문서를 지정합니다. 쿼리 필터 문서는 쿼리 연산자를 사용하여 검색 조건을 지정합니다.
MongoDB의 다양한 쿼리 연산자는 null
값을 다르게 처리합니다. 쿼리 필터를 적용하려면 다음 각 문서를 Filter 검색창에 복사하고 Apply를 클릭합니다.
다음 쿼리 필터를 사용하여 null
값과 함께 description
필드를 포함하거나 description
필드를 포함하지 않는 문서를 일치시킵니다.
{ description : null }
다음 쿼리 필터를 사용하면 null
값이 있는 description
필드가 포함된 문서만 일치시킬 수 있습니다. 이 필터는 필드 값이 BSON 유형 Null
(BSON 유형 10)에 해당해야 한다고 지정합니다.
{ description : { $type: 10 } }
description
필드가 포함되지 않은 문서만 일치시키려면 다음 쿼리 필터를 사용합니다. 이전에 삽입한 문서만 표시됩니다.
{ description : { $exists: false } }