MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Azure CosmosDB con i driver Mongo:ottieni conteggio senza ottenere tutti i documenti in base all'elemento nel sottodocumento secondario in C#.Net

Non tutte le funzionalità di query MongoDB vengono visualizzate nell'API Cosmos MongoDB e attualmente la pipeline di aggregazione è una di quelle funzionalità non implementate. Questo è il motivo per cui ricevi l'errore che indica $group non è supportato.

Aggregazione generale (sum, min, max, avg, count ) sono stati aggiunti qualche tempo fa all'API di DocumentDB.

Dovresti fare la tua aggregazione nell'API MongoDB, per ora.

Nota:count() è supportato, quindi supponendo che filtri i tuoi dati (senza pipeline di aggregazione), puoi fare qualcosa come:

db.collection.find({...}).count()

Allo stesso modo, puoi fare un $min o $max tramite smistamento. Quindi per $max , puoi fare qualcosa del genere per trovare il valore massimo di foo :

db.collection.find({...},{foo:1}).sort({foo:-1}).limit(1)