所以我有以下发布方法创建一个包含许多参数的房间:
Meteor.publish('addRoom', function publishFunction(options, admin, adminKey, members, roomName, isOpen, finalChoice, timeStamp) {
//add relevant info to collection
Rooms.insert({
optionsList: options,
optionsArr: options.split(','),
admin: admin,
adminKey: adminKey,
membersArr: members,
roomName: roomName,
isOpen: isOpen,
finalChoice: "A choice will be made when the room is closed",
timeStamp: timeStamp
});
return Rooms.find({}, {sort: {timeStamp: -1}});
});
这(理论上)应该将光标返回到刚刚传入的所有信息的文档。
这是我的订阅:
var getRoom = Meteor.subscribe('addRoom', options, admin, adminKey, members, roomName, isOpen, finalChoice, timeStamp));
console.log(getRoom.adminKey.toString());
我知道传入的所有变量都已正确定义,但是console.log(...)
给出了undefined
错误。
但是,Chrome控制台中的Rooms.find().fetch()
会正确显示文档。
如何正确获取文档的管理密钥?
编辑:
我还应该注意,我的Rooms = new Meteor.Collection('rooms');
位于我的服务器端和客户端javascript文件的顶部。