Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A:
núcleo virtual de MongoDB
El $all
operador se usa para seleccionar documentos donde el valor de un campo es una matriz que contiene todos los elementos especificados. Este operador es útil cuando necesita asegurarse de que un campo de matriz contiene varios elementos especificados, independientemente de su orden en la matriz.
Sintaxis
db.collection.find({ <field>: { $all: [ <value1> , <value2> ... ] } })
Parámetros
Descripción | |
---|---|
field |
Campo que se va a consultar. |
<value1> , <value2> |
Los valores que deben estar presentes en el campo de matriz. |
Ejemplo
{
"_id": "a57511bb-1ea3-4b26-bf0d-8bf928f2bfa8",
"name": "Wide World Importers",
"location": {
"lat": 68.6378,
"lon": -145.2852
},
"staff": {
"totalStaff": {
"fullTime": 1,
"partTime": 5
}
},
"sales": {
"totalSales": 23399,
"salesByCategory": [
{
"categoryName": "Smartphones",
"totalSales": 5231
},
{
"categoryName": "Laptops",
"totalSales": 18168
}
]
},
"promotionEvents": [
{
"eventName": "Unbeatable Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2023,
"Month": 5,
"Day": 17
},
"endDate": {
"Year": 2023,
"Month": 5,
"Day": 25
}
},
"discounts": [
{
"categoryName": "Video Games",
"discountPercentage": 20
},
{
"categoryName": "Tablets",
"discountPercentage": 18
}
]
}
],
"tag": [
"#ShopLocal",
"#FashionStore",
"#SeasonalSale",
"#FreeShipping",
"#MembershipDeals"
]
}
Ejemplo 1: Buscar documentos que contengan todos los elementos especificados en una matriz
En el ejemplo se permite consultar la stores
colección para buscar documentos que contengan elementos Laptops
y Smartphones
dentro salesByCategory.categoryName
de la matriz.
db.stores.find(
{ "sales.salesByCategory.categoryName": { $all: ["Laptops", "Smartphones"]} },
{ _id: 1, "sales.salesByCategory.categoryName": 1 }
).limit(2)
La consulta devuelve los dos documentos que contienen y Laptops
Smartphones
dentro de salesCategory
la matriz.
{
"_id": "a57511bb-1ea3-4b26-bf0d-8bf928f2bfa8",
"sales": {
"salesByCategory": [
{
"categoryName": "Smartphones"
},
{
"categoryName": "Laptops"
}
]
}
},
{
"_id": "ca56d696-5208-40c3-aa04-d4e245df44dd",
"sales": {
"salesByCategory": [
{
"categoryName": "Laptops"
},
{
"categoryName": "Smartphones"
}
]
}
}
Contenido relacionado
- Revise las opciones para migrar de MongoDB a Azure Cosmos DB para MongoDB (núcleo virtual)
- Más información sobre la compatibilidad de características con MongoDB