Вот мой монгольский документ после переноса из SQL Server в обычную коллекцию MongoDB.Перенос данных двоичных файлов с SQL Server на MongoDB GridFS
{
"TicketId": 23,
"Attachments" : [
{
"_id" : 4221,
"Name" : "profile Pic",
"Size" : 218112,
"Description" : "User Profile Pic",
"Data" :{ "$binary" : "0M8R4KGxGuE.............",
"IsPrivate" : false,
"AttachmentType" = {
"ContentType" = "image/png",
"FileExtension" = ".png"
},
"CreatedByUserId" : 12,
"CreatedDateTimeUtc" : ISODate("2012-05-21T18:40:08.570Z"),
},
{ // Another attachment },
{ // Another attachment },
{ // Another attachment }]
}
Но у меня есть привязанность, которые являются более 16 МБ размера, так как MongoDB размера документа ограничен до 16 МБ я не могу использовать этот подход, чтобы сохранить свои вложения.
Похоже, что GridFS - это правильный подход для сохранения файлов в MongoDB. Я нашел этот ответ на SO https://stackoverflow.com/a/4990536/942855, в котором объясняется, как сохранить новый файл в GridFS. Но мне нужно перенести данные с SQL Server на MongoGridFS.
Также, когда вы загружаете файл в GRIDFS, кажется, что он генерирует несколько полей по умолчанию, мне было интересно, как добавить дополнительные поля к нему в Map to other collections?
Или следует рассмотреть вопрос о сохранении всей связанной с информацией вложения с другой коллекцией сопоставлений и добавлении массива gridFsInfo.Id к ней для сопоставления?
Я использую MongoDB 3.2 с драйвером MongoDB C#