Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 为什么这些集合对象只包含_id?_Meteor_Meteorite - Fatal编程技术网

Meteor 为什么这些集合对象只包含_id?

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

我有许多收藏已成功发布到客户端,但有一个很顽固:

DB上有一个“货物”集合。集合包含两个文档,它们有许多字段

// 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)。我们的项目已经开始了,所以我不能再花时间研究这个了。