【问题标题】:Can I create a tailable cursor for a query in mongo?我可以为 mongo 中的查询创建可尾游标吗?
【发布时间】:2013-05-10 15:41:54
【问题描述】:

在节点中使用 mongo 和 mongoose,我可以像这样从一个有上限的集合创建一个流:

@stream = Post.find().tailable().stream()

但是我也可以使用这样的查询吗?:

@stream = Post.find({tagged:true}).tailable().stream()

当我尝试运行上面的代码时,我得到了错误

MongoError: tailable cursor requested on non capped collection

【问题讨论】:

  • 是的,根据文档是可能的 - 在此处搜索:mongoosejs.com/docs/2.7.x/docs/query.html
  • 尝试使用上限架构:mongoosejs.com/docs/guide.html#capped
  • 谢谢,我通读了那个页面,但是我找不到一个例子,它有一个带有实际选项/过滤器的查询。所以 Posts 已经是一个有上限的集合。你知道为什么第二行会抛出错误,而第一行不会?
  • 可能是因为如果你想要它tailable 它必须是capped - 但我不确定。
  • 嗯.. 感谢您指出这一点。似乎我没有正确设置集合的上限。

标签: node.js mongodb stream mongoose


【解决方案1】:

为您的 Post 架构试试这个:

var postSchema = new Schema({..}, { capped: 1024 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 2019-07-02
    • 2014-09-05
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多