mongodb-nodejs-driver, DeprecationWarning: collection.count устарела - PullRequest
0 голосов
/ 03 июля 2018

Я хочу получить количество документов, используя:

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.

Как я могу решить это предупреждение?

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Базовый драйвер mongodb устарел .count () метод. Вместо этого следует использовать .estimatedDocumentCount () или .countDocuments ().

0 голосов
/ 03 июля 2018

Как вы уже поняли, начиная с MongoDB Node.JS драйвер v3.1 метод count() устарел и будет заменен на:

Эти методы были добавлены в node-mongodb-native . Например, через драйвер MongoDB Node.JS вы можете сделать:

db.collection("posts").countDocuments(
  {}, // filters
  {}, // options
  function(error, result) {
    console.log(result);
  }
);

См. Также УЗ-1501

В файле index.d.ts нет countDocuments или оценкаDocumentCount.

Это связано с тем, что определения TypeScript для пакета mongodb npm не были обновлены для включения двух новых методов. Список типов фактически поддерживается сообществом отдельно через DefiniteTyped (GitHub: DefiniteTyped )

Я отправил запрос на извлечение DefinitiveTyped # 27008 , чтобы добавить новые методы. После утверждения и публикации вы сможете увидеть напечатанные определения.

...