Você pode fazer query de null ou campos ausentes no MongoDB usando os seguintes métodos:
O driver da sua linguagem de programação.
A IU do MongoDB Atlas. Para saber mais, consulte Fazer query de campos nulos ou ausentes com o MongoDB Atlas.
➤ Use o menu suspenso Selecione a linguagem no canto superior direito para definir a linguagem dos exemplos a seguir ou selecione MongoDB Compass.
Diversos operadores de query no MongoDB tratam valores null de forma diferente.
Esta página fornece exemplos de operações de query que buscam valores null usando o método db.collection.find() em mongosh.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações de consulta para valores null usando MongoDB Compass.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações de consulta que buscam valores de null utilizando o método MongoCollection.Find() no MongoDB C# Driver.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações que consultam valores de null usando a função Collection.Find no Driver Go do MongoDB.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações de query que buscam valores null usando o com.mongodb.reactivestreams.client.MongoCollection.find método no MongoDB Java Reactive Streams Driver.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações de consulta que buscam valores de null utilizando o método com.mongodb.client.MongoCollection.find no Java Synchronous Driver do MongoDB.
Dica
O driver fornece os métodos auxiliares com.mongodb.client.model.Filters para facilitar a criação de documentos de filtro. Os exemplos nesta página usam esses métodos para criar os documentos de filtro.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações que consultam valores de null usando o método motor.motor_asyncio.AsyncIOMotorCollection.find no driver Motor.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações que solicitam valores null usando o método Collection.find() no Driver Node.js do MongoDB.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações de query que buscam valores null usando o método MongoDB\\Collection::find() na Biblioteca PHP do MongoDB.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações que fazem query em valores de null usando o método pymongo.collection.Collection.find no driver PyMongo do Python.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações de consulta que buscam valores de null utilizando o método Mongo::Collection#find() no MongoDB Ruby Driver.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Esta página fornece exemplos de operações que solicitam valores null usando o método Collection.find() método no MongoDB Scala Driver.
Os exemplos nesta página utilizam a coleção inventory. Conecte a um banco de dados de teste em sua instância MongoDB e, em seguida, crie a coleção inventory:
Importante
Use BsonNull.Value com o driver C# do MongoDB para solicitar null ou campos ausentes no MongoDB.
Importante
Use nil com o driver Go do MongoDB para fazer query de campos null ou ausentes no MongoDB.
Importante
Use None com o driver Motor para solicitar null ou campos ausentes no MongoDB.
Importante
Use None com o driver PyMongo Python para consultar null ou campos ausentes no MongoDB.
Importante
Use nil com o driver Ruby do MongoDB para solicitar null ou campos ausentes no MongoDB.
Importante
Use BsonNull() com o driver MongoDB Scala para solicitar null ou campos ausentes no MongoDB.
db.inventory.insertMany([ { _id: 1, item: null }, { _id: 2 } ])
[ { "_id": 1, "item": null }, { "_id": 2 } ]
Para obter instruções sobre como inserir documentos no MongoDB Compass, consulte Insira documentos.
var documents = new[] { new BsonDocument { { "_id", 1 }, { "item", BsonNull.Value } }, new BsonDocument { { "_id", 2 } } }; collection.InsertMany(documents);
docs := []any{ 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()
Filtro de equalização
A query { item : null } encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query { item : null } encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
O Eq("item", BsonNull.Value) query utilizando o método FilterDefinitionBuilder.Eq() busca documentos que contenham o campo item cujo valor é null ou que não contêm o campo item.
A query item => nil encontra documentos que contêm o campo item cujo valor é nil ou que não contêm o campo item.
A query eq("item", null) encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query eq("item", null) encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query { item : None } encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query { item : null } encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query [ item => undef ] encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query { item : None } encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo item.
A query { item => nil } encontra documentos que contêm o campo item cujo valor é nil ou que não contêm o campo item.
A query equal("item", BsonNull) encontra documentos que contêm o campo item cujo valor é null ou que não contêm o campo 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()))
A query retorna ambos os documentos na coleção.
Filtro de não igualdade
Para fazer query de campos que existem e não são nulos, use o filtro { $ne
: null }. A query { item : { $ne : null } } corresponde a documentos onde o campo item existe e tem um valor não nulo.
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));
Verificação de Tipo
A query { item : { $type: 10 } } corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query { item : { $type: 10 } } corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A Type("item", BsonType.Null) query do utilizando o método FilterDefinitionBuilder.Type() corresponde a apenas documentos que contêm o item campo cujo valor null é; ou seja, o valor do item campo é de Tipo JSON Null (tipo 10 número) :
A query a seguir corresponde apenas a documentos que contêm o campo item cujo valor é de Tipo deBSON Null (digite o número 10):
A query type("item", BsonType.NULL) corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query type("item", BsonType.NULL) corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query type("item", BsonType.NULL) corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query { item : { $type: 10 } } corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query { item : { $type: 10 } } corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query [ item => [ $type => 10 ] ] corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query { item : { $type: 10 } } corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
A query { item => { $type => 10 } } corresponde apenas a documentos que contêm o campo item cujo valor é null; ou seja, o valor do campo item é de BSON Tipo Null (tipo número 10):
db.inventory.find( { item : { $type: 10 } } )
Copie o seguinte documento de filtro de consulta na barra de consulta e clique em 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))
A query retorna somente o documento onde o campo item tem um valor de null.
Verificação de existência
As seguintes queries de exemplo para documentos que não contêm um campo. [1]
A query { item : { $exists: false } } corresponde a documentos que não contêm o campo item:
A query { item : { $exists: false } } corresponde a documentos que não contêm o campo item:
A query Exists("item", false) utilizando o método FilterDefinitionBuilder.Exists() corresponde a documentos que não contêm o campo item:
A query exists("item", false) corresponde a documentos que não contêm o campo item:
A query exists("item", false) corresponde a documentos que não contêm o campo item:
A query { item : { $exists: False } } corresponde a documentos que não contêm o campo item:
A query { item : { $exists: false } } corresponde a documentos que não contêm o campo item:
A query [ item => [ $exists => false ] ] corresponde a documentos que não contêm o campo item:
A query { item : { $exists: False } } corresponde a documentos que não contêm o campo item:
A query { item => { $exists => false } } corresponde a documentos que não contêm o campo item:
A query exists("item", exists = false) corresponde a documentos que não contêm o campo item:
db.inventory.find( { item : { $exists: false } } )
Copie o seguinte documento de filtro de consulta na barra de consulta e clique em 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))
A query retorna somente o documento que não contém o campo item.
| [1] | Os usuários não podem mais utilizar a query $type: 0 como sinônimo de $exists:false. Para fazer query de campos nulos ou ausentes, consulte Fazer query de campos nulos ou ausentes. |
Query de campos null ou ausentes com o MongoDB Atlas
O exemplo nesta seção utiliza o conjunto de dados de treinamento de amostra. Para saber como carregar o conjunto de dados de amostra em sua implantação do MongoDB Atlas, consulte Carregar Dados de Amostra.
Para executar query de um null ou um campo ausente no MongoDB Atlas, siga estas etapas:
Na IU do MongoDB Atlas, acesse a página Clusters do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Clusters sob o título Database.
A página Clusters é exibida.
Especifique um documento de filtro de consulta.
Para encontrar um documento que contenha um valor null ou ausente, especifique um query filter document no campo Filter. Um documento de filtro de query usa operadores de query para especificar as condições de pesquisa.
Diversos operadores de query no MongoDB tratam valores null de forma diferente. Para aplicar um filtro de query, copie cada um dos seguintes documentos na barra de pesquisa Filter e clique em Apply.
Utilize o seguinte filtro de query para combinar documentos que contêm um campo description com um valor null ou que não contêm o campo description:
{ description : null }
Utilize o seguinte filtro de query para corresponder apenas a documentos que contêm um campo description com um valor null. Esse filtro especifica que o valor do campo deve ser Tipo de BSON Null (Tipo de BSON 10):
{ description : { $type: 10 } }
Use o seguinte filtro de query para corresponder somente a documentos que não contêm o campo description. Somente o documento inserido anteriormente deve ser exibido:
{ description : { $exists: false } }
