gpt4 book ai didi

javascript - Ruby MongoDB 驱动程序客户端查询匹配器

转载 作者:行者123 更新时间:2023-11-30 17:27:04 25 4
gpt4 key购买 nike

我正在使用 WebSockets 在 Ruby 中构建一个系统,该系统将通知 JS 客户端适用于 JS 客户端正在查看的模型和集合的集合更改。我想让 JS 客户端定期向 WebSocket 发送注册消息,告诉它当前正在查看哪些模型,以及集合(或查询指定的集合子集)。

因此,为了实现此目的,托管 WebSocket 服务器的 API 需要测试查询是否与已更新/创建的文档匹配。我想在不向 Mongo 发送查询的情况下执行此操作,并且我在 C 驱动程序中找到了一个可以在 (mongo) 客户端工作的解决方案:http://api.mongodb.org/c/current/mongoc_matcher_new.html http://api.mongodb.org/c/current/matcher.html

不幸的是,我没有找到通过 Ruby 驱动程序调用此方法的方法。我有什么线索可以在 Ruby 中使用 mongoc_matcher_new 函数吗?或者是否有人有更好的建议来改进此解决方案的架构,以仅向 JS 客户端发送适用的更新?

最佳答案

我认为如果不查询 Mongo 就无法做到这一点。执行此操作的标准方法是跟踪 oplog,但 oplog 只会为您提供数据库/集合和 _id。因此,我认为您无法仅使用 oplog 支持任意查询,您需要获取文档才能确定匹配。

我建议您看看如何Meteor做这个。这个blog post概述了他们的方法。还有一个wiki page更多详情请参阅 OplogObserveDriver .

关于javascript - Ruby MongoDB 驱动程序客户端查询匹配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com