javascript - Meteor - 集合未保存到指定的 Mongo URL

标签 javascript mongodb meteor

我正在尝试在 Meteor 应用程序中保存集合。

到目前为止,我有一段简单的代码:

MyCollection = new Mongo.Collection("Dogs"); console.log(MyCollection.find({}));

当控制台日志确认其存在时,这将创建该集合。但是,它并没有在我指定的 Mongo URL 中创建它。

我在本地运行应用程序并使用以下命令指定 Mongo URL:

MONGO_URL='<MyURL>' meteor

该字符串的工作方式似乎是当我将用户注册到应用程序时,创建了用户集合以及指定数据库中的meteor_accounts_loginServiceConfiguration集合。

Collections

但是,用于创建集合“Dogs”的代码 - 附加到按钮单击 - 无法在数据库中创建新集合,但它正在其他地方创建。

我只能假设这是在 Meteor 提供的本地 Mongo 中创建的?

此外,我尝试使用以下内容设置我的 settings.json 文件:

{
  "galaxy.meteor.com": {
    "env": {
      "MONGO_URL": "<MongoURL>"
    }
  }
}

并在部署期间将应用程序指向它。这似乎也起到了创建新用户更新我的数据库中的“用户”集合的作用。但是,问题仍然存在,即未在我指定的 Mongo 数据库中创建“Dogs”集合。

有人知道为什么会出现这种情况吗?我错过了什么?

非常感谢您的帮助,

G

更新

我尝试过这个方法:

var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });

我在这里找到的:Using Multiple Mongodb Databases with Meteor.js

但这也无法在我的 MongoDB 中创建任何集合。

另一更新

看了这个问题后:

https://forums.meteor.com/t/how-to-view-collection-contents-using-console-log/23852/12

我尝试了以下方法:

我创建了一个名为 server 的文件夹,并在其中创建了一个名为 main.js 的文件,其中包含以下内容:

const Tasks = new Mongo.Collection('tasks');

Tasks.insert({_id: 'my-todo'});

if (Meteor.isServer) {
  // This code only runs on the server
  Meteor.publish('tasks', function() {
    return Tasks.find();
  });
}

在客户端的应用程序中,我将以下代码添加到我的 JS 文件中:

if (Meteor.isClient) {
  Meteor.subscribe('tasks');
}

根据帮助论坛,这应该可行。

它部分工作 - 在我指定的 Mongo URL 中创建任务集合并将任务插入其中。

但是,我现在不知道如何在客户端显示它。

有什么建议吗?

谢谢!:)

最佳答案

你是说你正在从客户端写入数据库吗?如果是这种情况,请确保您允许客户端写入,或者最好在服务器上创建一个写入数据库的方法,然后您的客户端调用该方法。

我认为正在发生的事情是它是在客户端的 minimongo 实例上写入的,并且没有与服务器上的数据库同步。

关于javascript - Meteor - 集合未保存到指定的 Mongo URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45162832/

相关文章:

JavaScript:单击时如何更改元素的可见性?

javascript - 如何在 Google Charts 中获取带有 svg 内部图像的 png(base64)?

javascript - knockout 嵌套组件 : $(document). Ready() ...在加载嵌套组件之前运行

javascript - 如何在 javascript 中获取日期的开始时间——考虑时区

插入新对象时 Meteor 0.8.2 客户端集合为空

javascript - MongoDB:聚合每个日历周和每年的文档并计算一个字段的所有值的总数

javascript - 如何在 JavaScript 或 jQuery 中将 JSON 数组转换为 JSON 对象?

java - 如何在Morphia Java中创建索引和不同的唯一索引?

Mongodb加入从String到ObjectId的_id字段

meteor - 运行 "meteor"时,出现错误 : Cannot find module 'fibers'