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
mongoc_collection_find_with_opts 를 사용하여 값을 쿼리 하는 작업의 예를 제공합니다. . .. include:: /includes/driver-examples/examples-intro.rst
이 페이지에서는 MongoDB C# 드라이버의 MongoCollection.Find() 메서드를 사용하여 null
값을 쿼리하는 작업의 예를 제공합니다.
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 MongoDB Go 드라이버에서 Collection.Find 메서드를 사용하여 null
값에 대해 쿼리하는 작업의 예시를 보여줍니다.
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 com.mongodb.reactivestreams 를 사용하여 값을 쿼리 하는 작업의 예를 제공합니다. 클라이언트.MongoCollection.find MongoDB null
Java Reactive Streams 드라이버 의 메서드 .
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 MongoDB Java 동기식 드라이버에서 com.mongodb.client.MongoCollection.find 메서드를 사용하여 null
값을 쿼리하는 작업의 예시를 제공합니다.
팁
이 드라이버는 필터 문서를 쉽게 만들 수 있도록 com.mongodb.client.model.Filters 헬퍼 메서드를 제공합니다. 이 페이지의 예시에서는 이러한 방법을 사용하여 필터 문서를 생성합니다.
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 null
MongoCollection.find() 메서드 를 사용하여 값을 쿼리 하는 작업의 예를 제공합니다. 메서드를 MongoDB 코틀린 (Kotlin) 루틴 드라이버.
팁
이 드라이버는 필터 문서를 쉽게 만들 수 있도록 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
컬렉션을 만듭니다:
이 페이지에서는 null
MongoDB PHP 라이브러리 에서 메서드를 사용하여 값을 MongoDB\\Collection::find()
쿼리 하는 작업의 예를 제공합니다.
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 null
를 사용하여 값을 쿼리 하는 작업의 pymongo.collection.Collection.find
예를 제공합니다.PyMongo 의 메서드 Python 운전자.
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 null
MongoDB Ruby 드라이버 에서 Mongo::Collection#find() 메서드를사용하여 값을 쿼리 하는 작업의 예를 제공합니다.
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
이 페이지에서는 null
컬렉션 .find() 메서드 를 사용하여 값을 쿼리 하는 작업의 예를 제공합니다. MongoDB Scala 드라이버 의 메서드 .
이 페이지의 예시에서는 inventory
컬렉션을 사용합니다. MongoDB 인스턴스의 테스트 데이터베이스에 연결한 다음 inventory
컬렉션을 만듭니다:
중요
MongoDB C 운전자 와 함께 BCON_NULL
를 사용하여 MongoDB 에서 null
또는 누락된 필드를 쿼리 합니다.
중요
MongoDB C# 드라이버를 사용하여 MongoDB에서 null
또는 누락된 필드를 쿼리하려면 BsonNull.Value
을(를) 사용하세요.
중요
MongoDB에서 null
또는 누락된 필드를 쿼리하려면 MongoDB Go 드라이버와 함께 nil
을 사용하세요.
중요
코틀린 (Kotlin) 루틴 운전자 와 함께 null
를 사용하여 MongoDB 에서 null
또는 누락된 필드를 쿼리 합니다.
중요
None
을(를) Motor 드라이버와 함께 사용하여 MongoDB에서 null
또는 누락된 필드를 쿼리할 수 있습니다.
중요
MongoDB에서 null
또는 누락된 필드를 쿼리하려면 PyMongo Python 드라이버와 함께 None
을(를) 사용하세요.
중요
MongoDB Ruby 운전자 와 함께 nil
를 사용하여 MongoDB 에서 null
또는 누락된 필드를 쿼리 합니다.
중요
MongoDB Scala 운전자 와 함께 BsonNull()
를 사용하여 MongoDB 에서 null
또는 누락된 필드를 쿼리 합니다.
db.inventory.insertMany([ { _id: 1, item: null }, { _id: 2 } ])
[ { "_id": 1, "item": null }, { "_id": 2 } ]
MongoDB Compass에서 문서를 삽입하는 방법은 문서 삽입하기를 참조하세요.
mongoc_collection_t *collection; mongoc_bulk_operation_t *bulk; bson_t *doc; bool r; bson_error_t error; bson_t reply; collection = mongoc_database_get_collection (db, "inventory"); bulk = mongoc_collection_create_bulk_operation_with_opts (collection, NULL); doc = BCON_NEW ( "_id", BCON_INT64 (1), "item", BCON_NULL); r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error); bson_destroy (doc); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; } doc = BCON_NEW ("_id", BCON_INT64 (2)); r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error); bson_destroy (doc); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; } /* "reply" is initialized on success or error */ r = (bool) mongoc_bulk_operation_execute (bulk, &reply, &error); if (!r) { MONGOC_ERROR ("%s\n", error.message); }
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}") ));
collection.insertMany( listOf( Document("_id", 1) .append("item", null), Document("_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
필드를 포함하지 않는 문서와 일치합니다.
{ item, BCON_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
필드를 포함하지 않는 문서와 일치합니다.
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 } )
mongoc_collection_t *collection; bson_t *filter; mongoc_cursor_t *cursor; collection = mongoc_database_get_collection (db, "inventory"); filter = BCON_NEW ("item", BCON_NULL); cursor = mongoc_collection_find_with_opts (collection, filter, 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));
val findFlow = 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 } }
filter = BCON_NEW ("item", BCON_NULL); cursor = mongoc_collection_find_with_opts (collection, filter, NULL, 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 : null} } )
collection.find(ne("item", null));
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)인 문서만 일치합니다.
{ item, { $type, BCON_NULL } }
쿼리는 item
필드의 값이 null
인, 즉 item
필드의 값이 BSON Type Null
(BSON 유형 10)인 문서만 일치합니다.
FilterDefinitionBuilder.Type() 메서드를 사용하는 Type("item", BsonType.Null)
쿼리는 값이 오직 null
인 item
필드가 포함된 문서와 일치합니다. item
필드의 값은 BSON 유형 Null
(BSON 유형 10)입니다.
다음 쿼리는 item
값이 BSON 유형 Null
(BSON 유형 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 타입 Null
(BSON 타입 10)입니다.
type("item", BsonType.NULL)
쿼리 는 값이 null
인 item
필드 가 포함된 문서 만 일치합니다. 즉, item
필드 의 값이 BSON 유형 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)인 문서만 일치합니다.
{ item => { $type => 10 } }
쿼리는 item
필드의 값이 null
인, 즉 item
필드의 값이 BSON Type Null
(BSON 유형 10)인 문서만 일치합니다.
db.inventory.find( { item : { $type: 10 } } )
mongoc_collection_t *collection; bson_t *filter; mongoc_cursor_t *cursor; collection = mongoc_database_get_collection (db, "inventory"); filter = BCON_NEW ( "item", "{", "$type", BCON_INT64 (10), "}"); cursor = mongoc_collection_find_with_opts (collection, filter, NULL, 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));
val findFlow = 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
필드를 포함하지 않는 문서와일치합니다:
{ item, { $exists, BCON_BOOL (false) } }
쿼리는 item
필드를 포함하지 않는 문서와일치합니다:
FilterDefinitionBuilder.Exists() 메서드를 사용하는 Exists("item", false)
쿼리는 item
필드를 포함하지 않는 문서와 일치합니다.
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 } } )
mongoc_collection_t *collection; bson_t *filter; mongoc_cursor_t *cursor; collection = mongoc_database_get_collection (db, "inventory"); filter = BCON_NEW ( "item", "{", "$exists", BCON_BOOL (false), "}"); cursor = mongoc_collection_find_with_opts (collection, filter, NULL, 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));
val findFlow = 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 을(를) 클릭합니다.
Clusters(클러스터) 페이지가 표시됩니다.
쿼리 필터 문서를 지정합니다.
null
또는 누락된 값이 포함된 문서를 찾으려면 Filter 필드에서 쿼리 필터 문서를 지정합니다. 쿼리 필터 문서는 쿼리 연산자를 사용하여 검색 조건을 지정합니다.
MongoDB의 다양한 쿼리 연산자는 null
값을 다르게 처리합니다. 쿼리 필터를 적용하려면 다음 각 문서를 Filter 검색창에 복사하고 Apply를 클릭합니다.
다음 쿼리 필터를 사용하여 null
값과 함께 description
필드를 포함하거나 description
필드를 포함하지 않는 문서를 일치시킵니다.
{ description : null }
다음 쿼리 필터를 사용하면 null
값이 있는 description
필드가 포함된 문서만 일치시킬 수 있습니다. 이 필터는 필드 값이 BSON 유형 Null
(BSON 유형 10)에 해당해야 한다고 지정합니다.
{ description : { $type: 10 } }
description
필드가 포함되지 않은 문서만 일치시키려면 다음 쿼리 필터를 사용합니다. 이전에 삽입한 문서만 표시됩니다.
{ description : { $exists: false } }