Je veux que mes documents soient comptés en utilisant:
db.collection('posts').count()
Mais j'ai un déclin:
DeprecationWarning: collection.count est obsolète et sera supprimé dans une future version. Utilisez plutôt collection.countDocuments ou collection.estimatedDocumentCount
Voici ma version du pilote mongodb nodejs:
"dependencies": {
"mongodb": "^3.1.0"
},
"devDependencies": {
"@types/mongodb": "^3.1.0",
"chai": "^4.1.2",
"mocha": "^5.1.1",
"ts-node": "^7.0.0",
"tslint": "^5.10.0",
"TypeScript": "^2.9.2"
}
Il n'y a pas de countDocuments
ou estimatedDocumentCount
dans index.d.ts
fichier.
Comment puis-je résoudre cet avertissement?
Comme vous l'avez compris, à partir de pilote MongoDB Node.JS v3.1 la méthode count()
a été déconseillée et sera remplacée par:
Ces méthodes ont été ajoutées au package node-mongodb-native lui-même. Par exemple, via le pilote MongoDB Node.JS, vous devriez pouvoir faire:
db.collection("posts").countDocuments(
{}, // filters
{}, // options
function(error, result) {
console.log(result);
}
);
Voir aussi NODE-1501
Il n'y a aucun countDocuments ou estimationDocumentCount dans le fichier index.d.ts.
Cela est dû au fait que les définitions TypeScript pour le package mongodb
npm n'ont pas été mises à jour pour inclure les deux nouvelles méthodes. La liste des types est en fait maintenue séparément par la communauté via DefinitelyTyped (GitHub: DefinitelyTyped )
J'ai soumis une demande d'extraction DefinitelyTyped # 27008 pour ajouter les nouvelles méthodes. Une fois approuvé et publié, vous devriez pouvoir voir les définitions saisies.
Le pilote mongodb sous-jacent a déprécié la méthode .count (). Vous devez utiliser .estimatedDocumentCount () ou .countDocuments () à la place.