Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A: MongoDB vCore
O $not
operador retorna o valor booliano oposto da expressão. Ele executa uma operação NOT lógica em uma única expressão. Se a expressão for avaliada como true
, $not
retornará false
. Se a expressão for avaliada como false
, $not
retornará true
. Esse operador é útil para negar condições e localizar documentos que não atendam a critérios específicos.
Sintaxe
A sintaxe do operador é a $isArray
seguinte:
{
$not: <expression>
}
Parâmetros
Descrição | |
---|---|
<expression> |
Uma única expressão a ser negada. O $not operador retorna o oposto lógico do valor booliano dessa expressão. |
Exemplo
Exemplo 1: identificar lojas que não são de alto movimento
O exemplo localiza lojas que não têm um volume de vendas alto (não maior que 50.000).
db.stores.aggregate([
{
$project: {
name: 1,
totalSales: "$sales.salesByCategory.totalSales",
isNotHighVolume: {
$not: { $gt: ["$sales.salesByCategory.totalSales", 20000] }
},
storeCategory: {
$cond: [
{ $not: { $gt: ["$sales.salesByCategory.totalSales", 20000] } },
"Small-Medium Store",
"High Volume Store"
]
}
}
},
{ $limit: 2 }
])
A consulta identifica repositórios que não são operações de alto volume.
{
"_id": "905d1939-e03a-413e-a9c4-221f74055aac",
"name": "Trey Research | Home Office Depot - Lake Freeda",
"totalSales": [ 37978 ],
"isNotHighVolume": false,
"storeCategory": "High Volume Store"
},
{
"_id": "a715ab0f-4c6e-4e9d-a812-f2fab11ce0b6",
"name": "Lakeshore Retail | Holiday Supply Hub - Marvinfort",
"totalSales": [ 25731 ],
"isNotHighVolume": false,
"storeCategory": "High Volume Store"
}
Exemplo 2: Validar repositórios sem problemas de falta de pessoal
O exemplo identifica lojas que não têm problemas de falta de pessoal (não menos de 10 funcionários no total).
db.stores.aggregate([
{ $match: {"_id": "e6895a31-a5cd-4103-8889-3b95a864e5a6"} },
{
$project: {
name: 1,
totalStaff: { $add: ["$staff.employeeCount.fullTime", "$staff.employeeCount.partTime"] },
isNotUnderstaffed: {
$not: { $lt: [{ $add: ["$staff.employeeCount.fullTime", "$staff.employeeCount.partTime"] }, 10] }
},
staffingStatus: {
$cond: [
{ $not: { $lt: [{ $add: ["$staff.employeeCount.fullTime", "$staff.employeeCount.partTime"] }, 10] } },
"Adequately Staffed",
"Understaffed"
]
}
}
}
])
A consulta determina se a loja não está com falta de pessoal.
{
"_id": "e6895a31-a5cd-4103-8889-3b95a864e5a6",
"name": "VanArsdel, Ltd. | Picture Frame Store - Port Clevelandton",
"totalStaff": 14,
"isNotUnderstaffed": true,
"staffingStatus": "Adequately Staffed"
}
Conteúdo relacionado
- Examinar as opções de migração do MongoDB para o Azure Cosmos DB for MongoDB (vCore)
- Leia mais sobre Compatibilidade de recursos com o MongoDB