我想主要在服务器端使用带有 meteor 的 Mongoose ORM,直到 meteor Release模式方法。
我可以在 Meteor 方法中调用 Mongoose ORM 操作并使用 Mongoose 检索方法(如 findById
)发布。
如果我以这种方式处理事情,我会错过任何潜在的问题或 meteor 特征吗?
最佳答案
不幸的是,有问题。我们想做同样的事情,但是(开箱即用)mongoose 包不使用 Meteor 的 DDP 协议(protocol),并且在您进行 CRUD 操作时不会触发 react 性。 Fibers/etc 也可能存在问题,尽管我们对 Mongoose 的插入还不足以找到它们。
好消息是(服务器端)Meteor 会监视数据库是否有任何更改,无论是否由 DDP 引起,并会在大约 10 秒左右的时间内拾取它们。然后它将它们发布给客户端,客户端将以标准的 meteor 格式接收它们。
我们一直在寻找 mongoose-ddp-meteor 包来解决这个问题,最终可能不得不自己构建一个。
编辑: 截至 2013 年 12 月,Meteor 的 Mongo 包监听 Mongo 的 oplog,并将实时反射(reflect)外部 mongoose 事件所做的任何更改。
关于mongodb - Meteor.js 和 Mongoose 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854804/