MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Azure CosmosDB utilisant les pilotes Mongo :obtenir le nombre sans obtenir tous les documents basés sur l'élément du sous-sous-document dans C#.Net

Toutes les fonctionnalités de requête MongoDB ne sont pas présentées dans l'API Cosmos MongoDB, et actuellement le pipeline d'agrégation est l'une de ces fonctionnalités non implémentées. C'est pourquoi vous obtenez l'erreur indiquant $group n'est pas pris en charge.

Agrégation générale (sum, min, max, avg, count ) ont été ajoutés il y a quelque temps à l'API DocumentDB.

Vous devriez faire votre propre agrégation dans l'API MongoDB, pour l'instant.

Remarque :count() est pris en charge, donc en supposant que vous filtrez vos données (sans pipeline d'agrégation), vous pouvez faire quelque chose comme :

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

De même, vous pouvez faire un $min ou $max via le tri. Donc pour $max , vous pouvez faire quelque chose comme ça pour trouver la valeur maximale de foo :

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