流星数据库连接

2023-11-25

我正在尝试连接到位于机器上的 Mongo 数据库作为我的 Meteor 应用程序。这是我的应用程序中的两个文件:

a.js:

if (Meteor.isServer) {

    var database = new MongoInternals.RemoteCollectionDriver("mongodb://127.0.0.1:3001/meteor");
    Boxes = new Mongo.Collection("boxes", { _driver: database });
    Meteor.publish('boxes', function() {
        return Boxes.find(); 
    }); 
}

b.js:

if (Meteor.isClient) {
    Meteor.subscribe('boxes');
    Template.homeCanvasTpl.helpers({
        boxes: function () {
            return Boxes.find({});
        }
    });
}

但我不断收到“模板助手中的异常:ReferenceError:框未定义”错误 - 有什么想法吗?


如何使用 Meteor 连接到 MongoDB?

场景A:默认使用内置DB

这比你所做的简单得多。当你跑步时meteor实际上,您使用 Meteor 服务器启动了一个数据库,其中 Meteor 侦听端口 3000 并在端口 3001 上侦听数据库。Meteor 应用程序已在端口 3001 连接到该数据库,并使用名为的数据库meteor。没有必要再退回去MongoInternals.RemoteCollectionDriver。只需删除该代码并将其更改为:

 Boxes = new Mongo.Collection("boxes"); // use default MongoDB connection

场景 B:使用不同的数据库作为默认值

使用MONGO_URL环境变量,您可以在启动 Meteor 服务器时将连接字符串设置为 MongoDB。您可以准确指定连接位置和连接方式,而不是本地端口 3001 数据库或未经身份验证的连接。像这样启动你的 Meteor 服务器:

$ MONGO_URL=mongodb://user:password@localhost:27017/meteor meteor

您也可以省略user:password@如果不需要身份验证,则为命令的一部分。

场景 C:从同一个 Meteor 应用程序连接到第二个(第三个等)数据库

现在我们需要使用MongoInternals.RemoteCollectionDriver。如果您希望使用另一个数据库,该数据库不是启动 Meteor 服务器时定义的默认数据库,您应该使用您的方法。

var database = new MongoInternals.RemoteCollectionDriver('mongodb://user:password@localhost:27017/meteor');
var numberOfDocs = database.open('boxes').find().count();

奖励:为什么你不应该使用MongoInternals with Mongo.Collection?

As 文档表明你不应该将任何 Mongo 连接传递给new Mongo.Collection()命令,但只是到另一个 Meteor 实例的连接。这意味着,如果您使用DDP.connect要连接到不同的服务器,您可以使用您的代码 - 但您不应该混合使用MongoInternals with Mongo.Collection- 他们不能很好地合作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

流星数据库连接 的相关文章

  • 更新插入 MongoDB 时如何防止出现“_t”字段?

    我有一个应用程序 它使用 MongoDB 的 C 驱动程序将 Upsert 插入 MongoDB 数据库 当我打电话给Update函数 我无法指定我要更新的类型 然后 t字段插入元素的类型 这是我用来更新插入的代码 collection U
  • Mongoose 查找 array.length 大于 0 的所有文档并对数据进行排序

    我正在使用 mongoose 对 MongoDB 执行 CRUD 操作 这就是我的架构的样子 var EmployeeSchema new Schema name String description type String default
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • 如何强制 Meteor 重新加载订阅?

    在我的应用程序中 sections是一个链接到的集合courses通过一个名为course sectionIds 初始加载工作正常 但在管理面板中添加部分时遇到非反应式连接问题 这是路线 route adminCourse path adm
  • 在 mongodb 和 nodejs 中对博客和评级进行建模

    我有一个博客集合 其中包含用户给予的标题 正文和综合评分 另一个集合 评级 其架构引用了博客 以对象 ID 的形式对博客进行评级 如果有的话 的用户以及他们给出的评级 即 1 或 1 当特定用户按照 最新优先 的顺序浏览博客时 比如每页 4
  • 按一个字段聚合,选择另一个字段最大值的文档作为集合

    使用聚合框架 获取每个分组的字段最大值的文档的最佳方法是什么 因此使用下面的集合 我希望具有为每个具有最新日期的 group id 返回一个文档的功能 第二个清单显示了所需的结果 group id date 1 11 1 12 1 11 2
  • 在 Nodejs 中,如何停止 FOR 循环直到 MongoDB 调用返回

    我正在研究下面的代码片段 我有一个名为 stuObjList 的 JSON 对象数组 我想循环遍历数组以查找具有特定标志集的特定 JSON 对象 然后进行数据库调用以检索更多数据 当然 FOR 循环不会等待数据库调用返回并到达 j leng
  • C# Mongo DeleteMany - 不使用类

    我在 MongoDB 中有一个普通的 不是 GridFS 集合 我需要访问和删除一些文档 我想 需要在不使用类的情况下执行此操作 昨天 今天尝试了一些事情 并在网上进行了很多搜索并尝试了很多事情 无法弄清楚为什么 deletemany 对我
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • Express中间件修改请求

    我目前有一个正在运行的服务器 前端使用nodejs mongo express 和 W2UI W2ui 请求来自包含所有参数的记录数组 记录 名称 foo 我想编写一个中间件 在请求到达路由之前对其进行编辑和更改 您可以创建自己的中间件来处
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • MongoDB 聚合:如何检查数组中是否存在包含多个属性的对象

    我有一个对象数组 我想检查是否有一个对象与多个属性匹配 我尝试过使用 in and and但它并没有按照我想要的方式工作 这是我当前的实现 https mongoplayground net p dEQp2Q4DW0j 我有一个像这样的数组
  • 护照本地猫鼬帐户注册的附加字段?

    我将 Passport local mongoose 与 Node js Express js MongoDB 一起用于 Web 应用程序 我想使用用户名字段 密码字段 公司名称字段和电话号码字段 所有字段 来注册用户作为字符串 但是 我只
  • MongoDB:在具有未知键的对象中查找给定字段值的文档

    我正在建立一个关于论文 论点的数据库 它们与其他参数相关 我将这些参数放置在带有动态键 https stackoverflow com questions 12393351 using a variable in mongodb updat
  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod
  • 使用 KeystoneJs 的 Mongoose 二级种群 [重复]

    这个问题在这里已经有答案了 我需要用 Mongoose Keystone 填充两层 但遇到了障碍 我有 3 个模型 地区 国家和城市 地区包含国家 国家包含城市 我的模型 型号区域 var Region new keystone List
  • 如何在 mongoid 中使用 or 条件进行查询

    如何在 Mongoid 中使用 or 条件进行查询 这是 OR 在 mongoid 中查询 如果你想要像下面这样的查询 select from user where id 10 or name hitesh 在带有 mongoid 的 Ra
  • Spring Data MongoDB:聚合框架 - 使用嵌套属性进行排序会抛出无效引用

    I found Spring论坛上的这篇文章 http forum spring io forum spring projects data nosql 130522 spring data mongodb aggregation fram
  • 在 MongoDB 上,当我的回调位于“find”内部时,如何限制查询?

    我在 MongoDB 中有这个查询 db privateMessages find or fromId userId toId socket userId fromId socket userId toId userId function
  • 流星内存不足

    我正在使用流星来制作报废引擎 我必须执行一个 HTTP GET 请求 这会向我发送一个 xml 但这个 xml 大于 400 ko 我得到一个异常 内存不足 result Meteor http get http SomeUrl com 致

随机推荐