MongoDB
La API de consultas.
Simple, expresiva y unificada.
Una forma flexible e intuitiva de trabajar con datos. Entregue aplicaciones con un mínimo de código y una productividad máxima, en el lenguaje y la herramienta que prefiera.
Una interfaz intuitiva que simplifica el manejo de cargas de trabajo de datos complejas para cualquier tipo de datos, incluidos matrices y datos geoespaciales y de series temporales, todo lo cual permite a los desarrolladores ofrecer más con menos código.
- Trabaje en su idioma preferido
- Una interfaz única para cargas de trabajo operativas, analíticas y de búsqueda
Trabaje fácilmente con cualquier tipo de datos
Obtenga un control total sobre sus datos con MongoDB Query API. Está diseñado para gestionar cualquier estructura de datos con facilidad, incluidos valores clave, gráficos, geoespaciales, series temporales y objetos. Optimizadas para matrices y objetos incrustados, estas capacidades de consulta expresivas brindan flexibilidad al modelo del documento
.Aumente la productividad con una única interfaz
Libere todo el potencial de las operaciones de datos. Realice operaciones clave, como la indexación, la consulta y la actualización, todo ello a través de una única y potente API. Modernice sus aplicaciones mediante el uso de consultas transaccionales, de búsqueda y analíticas, sin necesidad de cambiar de interfaz ni tener que trabajar con una sintaxis de consulta compleja
.Simplifique el proceso de desarrollo
Consulte y agregue datos con su lenguaje de codificación preferido. La API de consultas de MongoDB incluye controladores para generar consultas mediante programación y crear pipelines de agregación, lo que elimina la necesidad de aprender un nuevo lenguaje de consulta desde cero.
Resumen general de características
Consultas expresivas
Utilice una amplia gama de operadores potentes, como $elemMatch y $geoWithin, para consultar y actualizar uno o más documentos en función de una combinación de criterios, incluso dentro de matrices y objetos anidados.
Diversos tipos de índices
Optimice sus consultas con muchos tipos de índices, independientemente de la profundidad de los campos.
Datos geoespaciales y gráficos
Consulte datos geoespaciales fácilmente y utilice operadores, como $graphLookup, para recorrer conjuntos de datos conectados.
Consulta entre colecciones y bases de datos
Use $lookup y $unionWith para unir y combinar varias colecciones, o Atlas Data Federation para realizar consultas en bases de datos y así realizar análisis y exploraciones en profundidad.
Transforme y analice los datos in situ
Utilice el pipeline de agregación para crear transformaciones complejas de forma sencilla y modular.
Búsqueda de texto completo creada para el modelo de documentos
Implemente la búsqueda avanzada de texto completo, sin necesidad de gestionar infraestructura adicional.
Flujos de cambios
Cree aplicaciones en tiempo real basadas en eventos que reaccionen a los cambios de la base de datos activando la lógica del lado del servidor.
Vistas materializadas incrementales y bajo demanda
Precalcule y almacene en caché las consultas habituales, actualizando dinámicamente los conjuntos de resultados a medida que se procesan nuevos datos.
Simplifique el trabajo con datos
Consultas expresivas más fáciles
xxxxxxxxxx
#Querying on arrays
db.inventory.find({
“Size.h”: {$lt: 15}, “size.uom”: “in”, status: “D”
})
#Geospatial queries
db.places.find(
{
location:
{ $near:
{
$geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] },
$minDistance: 1000,
$maxDistance: 5000
}
}
}
)
Transformaciones componibles en la base de datos
xxxxxxxxxx
lonely_ne = db.lonely_neighborhoods
popular_ne = db.popular_neighborhoods
pipeline = [
#filter neighborhoods where the population is known
{"$match": {"population": {"$ne": "unknown"}}},
#perform a union with the collection containing popular neighborhoods with an embedded pipeline for filtering neighborhoods where the population is known, and removing documents where the city is an industrial township
{"$unionWith": {"coll": "popular_neighborhoods",
"pipeline": [
{"$match": {"population": {"$ne": "unknown"}}},
{$redact: {$cond: {
if: { $eq: [ "$type", "Industrial township"]},
then: "$$PRUNE",
else: "$$DESCEND" }}
}
] }},
#finally we are grouping neighborhoods by climate to calculate the total population in popular neighborboods that are not in an industrial township
{"$group": {"_id": "$climate", "totalPopulation": {"$sum": {"$toLong": "$population"}}}}
]
result = lonely_ne.aggregate(pipeline)
Búsqueda de texto completo, de series temporales y más
xxxxxxxxxx
#running a full-text search query
movies = db.movies
pipeline = [
{"$search": {"near": {"path": "released", "origin": {"$date": "2011-09-01T00:00:00.000+00:00"}, "pivot": 7776000000}}}},
{"$project": {"_id": 0, "title": 1, "released": 1}}
]
result = movies.aggregate(pipeline)
#analyzing time series with window functions
cakeSales = db.cakeSales
pipeline = [
{"$setWindowFields": {
"partitionBy": {"$year": "$orderDate"},
"sortBy": {"orderDate": 1},
"output": {"cumulativeQuantityForYear": {"$sum": "$quantity", "window": {"documents": ["unbounded", "current"]}}}
}
}
]
result = cakeSales.aggregate(pipeline)
for res in result:
print(res)
Consulte. Transforme. Analice.
Juegue con una aplicación de demostración interactiva
Comience a usar Query API hoy
- CRUD
- Agregaciones
- Flujos de cambios
- Geoespacial y gráfico
- Búsqueda de texto completo
- Controladores de idioma