好的,我正在研究流星的基础知识,但是当我使用
为服务器/客户端定义我的集合时,我仍然无法弄清楚是怎么回事// /lib/collections.js
import { Mongo } from 'meteor/mongo';
export const Info = new Mongo.Collection('info');
export const Name = new Mongo.Collection('name');
export const Dates = new Mongo.Collection('date');
然后我在我的服务器上运行publish
// /server/main.js
Meteor.publish('insertByName', function(query) {
AsyncAPICall.findName(nameVar, Meteor.bindEnvironment(function(err, names) {
Name.upsert(query.blob, query.set);
}));
});
我得到了
异步函数回调中的异常:ReferenceError:未定义名称
如果我将我的收藏编辑为
// lib/collections.js
import { Mongo } from 'meteor/mongo';
Info = new Mongo.Collection('info');
Name = new Mongo.Collection('name');
Dates = new Mongo.Collection('date');
upsert工作正常。但是使用subscribe
我跑了
// /server/main.js
Meteor.publish('getName_publish', function () {
return Name.find();
});
和
// /client/main.js
import {
Summoners,
Champions,
SummonersByName
} from '../lib/collections.js';
import '/client/template/page.js';
// /client/template/page.js
Template.page.onCreated(function pageOnCreated() {
Meteor.subscribe('getName_publish');
});
Template.page.helpers({
byname() {
return Name.find({}, { sort: { updated_at: -1 } }); //{}, { sort: { updated_at: -1 } }
},
});
我的对象最终为空。
基本上如果有export const
我不能upsert
到Mongo集合,如果没有,我就无法检索记录。
更新如果我在浏览器控制台中使用Name.find().fetch()
,则会按预期返回对象,但不会返回Template.page.helpers
或Template.page.onCreated