此代码将服务器insert
的一些文档集合在一起,以便客户端稍后find
。
我需要为给定的task
返回数组
但该页面正在说
未收到任何数据
为什么这样以及如何解决?感谢
//Both
FooterButtons2 = new Mongo.Collection('footerButtons2');
//Server
Meteor.publish('footerButtons2', function(){
return FooterButtons2.find();
});
FooterButtons2.insert(
{ "task1": ["submit"]},
{ "task2": ["cancel","continue"]}
);
//client
Meteor.subscribe('footerButtons2');
var res = FooterButtons2.findOne("task1");
答案 0 :(得分:1)
当你这样搜索时:
var res = FooterButtons2.findOne("task1");
您正在搜索具有" _id"的对象key等于" task1",这是不正确的。 您想要具有键" task1"的对象。在里面。正确的方法是:
var res = FooterButtons2.findOne({
task1: { $exists: true }
});
但理想情况下,您应该根据值而不是键进行搜索。像这样:
FooterButtons2.insert({
task: "task1",
buttons: ["submit"]
}, {
task: "task2",
buttons: ["cancel", "continue"]
});
var res = FooterButtons2.findOne({
task: "task1"
});