【问题标题】:find method is deprecated according to mongodb typings根据 mongodb 类型不推荐使用 find 方法
【发布时间】:2018-08-26 04:56:38
【问题描述】:

我目前有这个电话:

 const q = coll.find(query, {
    tailable: true,
    awaitData: true,
    oplogReplay: true,
    noCursorTimeout: true,
    numberOfRetries: Number.MAX_VALUE
  });

 return q.stream()

但我的 IDE 警告我不推荐使用 mongodb.Collection 上的此方法:

果然这就是打字所说的。我的问题是 - 这里的长期解决方案是什么,进行同样调用的新方法是什么?

【问题讨论】:

  • 请注意,这是集合类型上的find()
  • 不确定为什么它在分型中被标记为已弃用,因为在当前API docs 中没有这样标记。

标签: node.js mongodb mongoose mongodb-query nodejs-stream


【解决方案1】:

这似乎可行,但非常冗长,我不确定是否有更好的方法:

 const q = coll.find(query)
  .addCursorFlag('tailable', true)
  .addCursorFlag('awaitData', false)
  .setCursorOption('numberOfRetries', Number.MAX_VALUE)
  .setCursorOption('tailableRetryInterval', 200)
  .addCursorFlag('noCursorTimeout', true)
  .addCursorFlag('oplogReplay', true);

注意布尔值,你需要使用addCursorFlag,但非布尔值需要使用setCursorOption....看起来很奇怪/没有必要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    相关资源
    最近更新 更多