当前位置: 首页 > 知识库问答 >
问题:

流星碰撞:MongoError:ns名称太长,最大大小为128

宗建章
2023-03-14

我的Meteor应用程序在localhost上运行良好,但当我将它部署到myapp.Meteor.com时,我得到以下错误。我很难理解这些错误日志。有什么想法吗?

[Thu Jun 25 2015 06:35:23 GMT+0000 (UTC)] 
WARNING /meteor/dev_bundles/0.4.18/lib/node_modules/fibers/future.js:278
throw(ex);
^
[Thu Jun 25 2015 06:35:23 GMT+0000 (UTC)] 
WARNING MongoError: ns name too long, max size is 128
at Object.Future.wait
(/meteor/dev_bundles/0.4.18/lib/node_modules/fibers/future.js:398:15)
at [object Object].MongoConnection._ensureIndex
(packages/mongo/mongo_driver.js:733:1)
at FileCollection.Mongo.Collection._ensureIndex
(packages/mongo/collection.js:620:1)
at new FileCollection (packages/vsivsi:file-
collection/gridFS_server.coffee:65:15)
at FileCollection (packages/vsivsi:file-        
collection/gridFS_server.coffee:21:24)
at app/lib/collections.js:15:12
at /meteor/containers/55bd5013-6244-5f59-9f74-
c6798eb58003/bundle/programs/server/boot.js:229:5
- - - - -

下面列出了我的collections.js文件中的代码,并在注释中注明了第15行。它基于Meteor文件集合示例应用程序第10行。请注意,MD5实际上是一个相当长的标识符,但我不确定Mongo是如何/是否使用它的。无论如何,它在localhost上工作。

Meteor.startup(function () {
  console.log('collections are loading');
  myData = FileCollection('myFiles', {   // This is line 15 that triggers error
    resumable: true,                        
    http: [                                 
      {                                     
        method: 'get',
          // This GET routes path like /gridfs/myFiles/md5/9f4cd4e1d9e7cb1273ad2860fa909398.jpeg                 
        path: '/md5/:md5',                  
          // note that my :md5 also contains suffix with media type. Suffix was appended in link helper
          // I added suffix so that other programs can determine MIME type from URL's suffix, without reading file header
        lookup: function (params, query) {  
          // params.md5 contains more than the MD5 and hence needs to be split to get true MD5 portion
          var tempArray = params.md5.split('.');
          var firstHalf = tempArray[0];     // heres the MD5 part to ensure that Vaughn's code isn't affected
          return {
            md5: firstHalf                 // a query mapping url to myFiles
          };
        }
      }
    ]
  });
});

共有1个答案

魏襦宗
2023-03-14

看来您的问题与此处已关闭的问题有关:https://github.com/vsivsi/meteor-file-collection/issues/55

您的本地db名称可能比在Meteor.com环境中分配给您的db名称短得多。

尝试添加类似于

   resumableIndexName: 'fci', 
   resumable: true,     
 类似资料:
  • 所以问题是:git分支名称中的最大字符数是多少?它取决于系统吗?是否可以在远程存储库(即Github)上拒绝的存储库中创建长分支名?

  • 我目前正在创建一个android java游戏。一种月球着陆器类型的游戏。我希望实现某种障碍,并已为小行星将随机放置在屏幕上。 然而,我很难理解如何为这些做碰撞检测。我将使用小行星的图像,所以可以很容易地为每个图像使用矩形边界框,但是由于小行星是圆形的(或者至少我的是圆形的!),当移动到矩形的角上时可以检测到碰撞,这不是小行星的视觉部分。 我猜我需要使用某种边界圈,但不确定我如何设置图像? 我想,

  • 问题内容: 我将数据库转移到MS SQL Server 2008 R2,当我尝试保存长字符串时,它给了我最大长度错误,而我将它替换后将该列的数据类型设置为“文本”与“ varchar(max)”,但那里没有解决方案。 请为我提供一个解决此问题的解决方案。我正在执行以下查询: 我进行了很多搜索,但是找到的解决方案对我没有用。 谢谢! 问题答案: 根据ANSI SQL标准,对象标识符(例如,而不是字符

  • 问题内容: 在放入HashMap期间发生冲突时,是否会调整地图大小或将条目添加到该特定存储桶中的列表中? 问题答案: 当您说“冲突”时,您是指相同的哈希码吗?哈希码用于确定要使用HashMap中的哪个存储桶,并且该存储桶由具有相同哈希码的所有条目的链表组成。然后在返回或引导(获取/放入)之前比较条目的相等性(使用.equals())。 请注意,这是专门用于HashMap的(因为这是您所要求的),而

  • 我用两个容器运行docker的环境。我注意到Overly2文件夹太大了。当docker关闭(docker compose down)时,Overly2文件夹的大小为2.3GB。当容器运行时,Overly2文件夹将增加到4.0GB,并且随着时间的推移而增加。这正常吗? 命令停止容器: 命令,容器运行: 编辑 命令

  • 问题内容: Java中的类/方法/变量名称是否有最大长度?JLS似乎没有提及。从代码的可读性和可维护性的角度来看,我知道很长的名称还是有问题的,但是出于好奇,这是有限制的(我想类名可能受到文件系统最大文件名限制的限制)。 问题答案: 抱歉,实际上在JLS中找到了答案:http : //java.sun.com/docs/books/jls/third_edition/html/lexical.ht