Meteor 为什么这些集合对象只包含_id?
我有许多收藏已成功发布到客户端,但有一个很顽固: DB上有一个“货物”集合。集合包含两个文档,它们有许多字段Meteor 为什么这些集合对象只包含_id?,meteor,meteorite,Meteor,Meteorite,我有许多收藏已成功发布到客户端,但有一个很顽固: DB上有一个“货物”集合。集合包含两个文档,它们有许多字段 // in /lib/collections/cargoes.js Cargoes = new Meteor.Collection('cargoes'); 在服务器端,我们发布/server/server.js Meteor.publish('cargoes', function() { return Cargoes.find(); } ); 在客户端,我们订阅了/client/ma
// in /lib/collections/cargoes.js
Cargoes = new Meteor.Collection('cargoes');
在服务器端,我们发布/server/server.js
Meteor.publish('cargoes', function() { return Cargoes.find(); } );
在客户端,我们订阅了/client/main.js
Meteor.subscribe('cargoes');
当我输入Cargoes.find().fetch()时;在浏览器(客户端)控制台中,我返回两个对象,它们只有我期望返回的对象的正确id值,,但没有其他字段
有什么想法可能会出错,或者如何调试它吗
EDIT1-修复了代码中的一个输入错误,发布总是有返回,我在StackOverflow上输入时错过了它。您的发布功能没有返回任何内容
Meteor.publish('cargoes', function() {
return Cargoes.find();
});
--更新--
如果这不起作用,请通过mongo shell再次检查对象是否有效<代码>meteor mongo或捷运mongo
。确保该对象没有可用的名称。确保您可以在服务器上正确查找()对象。获取()对象:
文件/server/main.js:
if ( Meteor.isServer ) {
console.log(Cargoes.findOne());
}
你的发布功能没有任何回报
Meteor.publish('cargoes', function() {
return Cargoes.find();
});
--更新--
如果这不起作用,请通过mongo shell再次检查对象是否有效<代码>meteor mongo或捷运mongo
。确保该对象没有可用的名称。确保您可以在服务器上正确查找()对象。获取()对象:
文件/server/main.js:
if ( Meteor.isServer ) {
console.log(Cargoes.findOne());
}
我想你忘了在你的发布函数中
返回
。我想你忘了在发布函数中返回
。我刚刚解决了我的问题。在我的代码中,我正确地返回了。不过这是一个很好的发现。如果您检查数据库中的字段是否都在那里?正确,完整的json在mongodb中;db.cargoes.find().pretty();。在浏览器控制台Cargoes.find().fetch()中;正在返回正确的_id值,但没有返回其他值。如果您重新添加自动发布
包,它是否有效?您有两个发布函数吗?它与mongodb中的数据被破坏有关,当我清空集合并重新输入测试值时,它们正确地显示出来。不知何故,集合中有些对象meteor无法发送到客户端(或者至少只发送_id)。我们的项目已经开始了,所以我不能再花时间研究这个问题了。我刚刚解决了我的问题。在我的代码中,我正确地返回了。不过这是一个很好的发现。如果您检查数据库中的字段是否都在那里?正确,完整的json在mongodb中;db.cargoes.find().pretty();。在浏览器控制台Cargoes.find().fetch()中;正在返回正确的_id值,但没有返回其他值。如果您重新添加自动发布
包,它是否有效?您有两个发布函数吗?它与mongodb中的数据被破坏有关,当我清空集合并重新输入测试值时,它们正确地显示出来。不知何故,集合中有些对象meteor无法发送到客户端(或者至少只发送_id)。我们的项目已经开始了,所以我不能再花时间研究这个了。