在GridFs中创建文件(MongoDb)

时间:2015-02-24 13:01:02

标签: mongodb collections gridfs

我有两个集合,LogData和OptData。 LogData只有600条记录,而OptData有大约300万条记录。为了制作一些逻辑数据,我试图合并两个集合。但是简单地使用mongo命令合并会创建一个大小超过16 MB的文档。

我可以使用GridF合并文件吗?

我的收藏品就像

   LogData
 [{
  "SId": 10,
   "NoOfDaya" : 9
  }
 {
 "SId": 11,
"NoOfDaya" : 8
}]



 OptData 
 [ {
     "SId": 10,
    "CId": 12
    }

{
"SId": 10,
 "CId": 13
   }]

我想要像

这样的东西
LogData
[{
  "SId": 10,
   "NoOfDaya" : 9
   "OptData" : [{
      "CId": 12
    },{
    "CId": 13
   }
   ]
  }
  {
      "SId": 11,
     "NoOfDaya" : 8,
     "OptData" : []
 }]

我可以通过使用mongodb find命令来执行此操作,但它创建的文档大小超过16 mb。是否可以使用mongodb GridFS执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以尝试在GridFS上将整个文档存储为JSON的文本字符串或BSON的二进制字符串,但这可能不是您想要的,因为当您在GridFS中存储数据时,MongoDB会将其视为无意义的数据块并且无法对其执行任何有用的查询。

现在暂时将数据标准化为两个集合会更好。如果这会给您带来特定问题,您可以在新问题中描述此问题。我们或许可以建议您一个更切实可行的解决方案。