我错过了一些必须如此明显的关键Meteor语法,我无法追踪它。
我有一个名为MongoDB数据的模型,如下所示:
Locations.insert({
title: "Eridanus",
body: "Eridanus is a constellation. It is represented as a river; its name is the Ancient Greek name for the Po River.",
latitude: "32.715",
longitude: "-117.1625"
});
我发布了这个模型:
Meteor.publish('allLocations', function() {
return Locations.find();
});
我甚至可以在模板中调用它。我的模板名为client/views/locations.html
<template name="locations">
{{#each locations}}
<div class="location"><h3>{{title}}</h3></div>
{{/each}}
</template>
但是,我还需要能够在此页面的随附javascript中访问此位置模型,我称之为client/views/locations.js
到目前为止,我有类似的内容,但我感到茫然如何在我的模型中将lat长信息转换为javascript中的对象。
Template.locations.rendered = function () {
//Psuedo code
for each location in locations {
console.log('Logitude', location.longitude)
}
}
引用我所知道的位置模型的正确方法是什么?我已阅读文档并进行了一些搜索,但无法找到答案。任何指导都将不胜感激。
答案 0 :(得分:1)
订阅一组文档后,它们将驻留在您的本地minimongo数据库中。您可以使用光标访问它们(例如,使用find)。在您的示例中:
Template.locations.rendered = function() {
Locations.find().map(function(location) {
console.log('Logitude', location.longitude);
});
};
或
Template.locations.rendered = function() {
var locations = Locations.find().fetch();
_.each(locations, function(location) {
console.log('Logitude', location.longitude);
});
};