如何将对象插入流星集合

2024-01-01

我刚刚开始学习 Meteorjs,问题多于答案。

我想将我的应用程序的翻译存储到临时集合中,并订阅 Iron Router 来发布它。我有一个字典对象,我想将其插入到集合中。

这是我的做法:

In 服务器/translations.js

translations = {
  ru_RU: {
    'value1': 'translation1',
    'value2': 'translation2'
  },

  en_US: {
    'value1': 'translation1',
    'value2': 'translation2'
  }
};

In 集合/translate.js

Translates = new Meteor.Collection('translations');
Translates.insert(translations);

In 服务器/publications.js

Meteor.publish('translations', function (lang) { //<-- how to pass arguments?
    return Translations.find({'translations': lang});
});

In 路由器.js

//use iron-router
Router.configure({
    layoutTemplate: 'main',
    notFoundTemplate: 'not-found',
    waitOn: function () { //waiting while data received and starting router job
        return Meteor.subscribe('translations');//<-- how can i use this data?
    }
});

我如何在客户端使用这些对象?


似乎您也正在解决一些客户端/服务器放置问题,但让我们专注于您的问题并缩小问题范围。

定义你的收藏

Translations = new Meteor.Collection('translations');

引导数据库数据

if (Meteor.isServer) {
    if (Translations.find({}).count() === 0) {
        Translations.insert({
            'translation' : 'ru_RU',
            'value1': 'translation1',
            'value2': 'translation2'
        });
        Translations.insert({
            'translation': 'en_US',
            'value1': 'translation1',
            'value2': 'translation2'
        });
    }
}

Publish

如果您发布带有参数的集合

Meteor.publish('translations', function (lang) { //lang argument
    return Translations.find({'translation': lang});
});

订阅

您可以使用这样的参数进行订阅

Meteor.subscribe('translations', 'ru_RU'); // pass in the other language code

为了简单起见,我将省略iron-router,因为您必须做一些设置(在主模板和 Router.map 中的 {{yield}} --铁路由器快速入门 https://github.com/EventedMind/iron-router#quick-start)

模板助手

Template.myTemplate.helpers({
    translations: function() {
        // return all subscribed translations
        return Translations.findOne({});
    }
});

Template

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

如何将对象插入流星集合 的相关文章

  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • 使用nodegit切换分支/标签

    我整个早上都在尝试打开现有的存储库并使用 nodegit 更改分支或标签 文档内容很丰富 但似乎已经过时了 关于我做错了什么有什么想法吗 var NodeGit require nodegit var open NodeGit Reposi
  • 使用node.js安装xml2json时出错

    我尝试为 node js 安装 xml2json 包 但它给了我错误 Error are as below 我的系统配置如下 Node js 版本 v5 4 1 npm 版本 3 3 12 操作系统 Windows 10 64 位 pyth
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 如何获取 vuejs 组件单元测试中定义的“this”变量

    我正在尝试在 npm 脚本中使用 mocha webpack 来测试 vuejs 组件 我在测试中像这样嘲笑 vuex 商店 const vm new Vue template div div
  • 如何在机器人框架中的两条消息之间设置延迟 - Node.js

    我正在开发一个机器人 它使用 botbuilder JS V4 使用 Direct Line 连接到我们的客户端应用程序 由于某些原因 消息以错误的顺序发送给机器人 例如 用户 你好 机器人 我能帮你什么忙吗 机器人 嗨 我是机器人 作为解
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • Mongoose - 查询从多个集合中获取数据

    我想要获取猫鼬的查询在 Node js 应用程序中 如下所述输出 user js comment js 和 post js 是我使用的模型文件 user js var mongoose require mongoose var Schema
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐