次を使用してドキュメント数を取得したい:
db.collection('posts').count()
しかし、私は衰退しました:
DeprecationWarning:collection.countは非推奨であり、将来のバージョンで削除されます。代わりにcollection.countDocumentsまたはcollection.estimatedDocumentCountを使用してください
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"
}
index.d.ts
ファイルにcountDocuments
またはestimatedDocumentCount
がありません。
この警告を解決するにはどうすればよいですか?
あなたが理解したように、 MongoDB Node.JS driver v3.1 から開始して、count()
メソッドは非推奨になり、次のように置き換えられます:
これらのメソッドは、 node-mongodb-native パッケージ自体に追加されました。たとえば、MongoDB Node.JSドライバーを使用すると、次のことができるはずです。
db.collection("posts").countDocuments(
{}, // filters
{}, // options
function(error, result) {
console.log(result);
}
);
NODE-1501 も参照してください
Index.d.tsファイルにcountDocumentsまたはexpectedDocumentCountはありません。
これは、mongodb
npmパッケージのTypeScript定義が2つの新しいメソッドを含むように更新されていないためです。タイプのリストは、実際には DefinitelyTyped (GitHub: DefinitelyTyped )を介してコミュニティによって個別に維持されます
新しいメソッドを追加するためにプルリクエスト DefinitelyTyped#27008 を送信しました。承認および公開されると、入力した定義を確認できるはずです。
基礎となるmongodbドライバーは.count()メソッドを廃止しました。代わりに.estimatedDocumentCount()または.countDocuments()を使用する必要があります。