Рассмотрите представленные ниже коллекционные документы «рестораны» в базе данных «mongodb» ресторана.MongoDb GridFS с существующей конкретной коллекцией в базе данных
{
"_id" : ObjectId("55f6564073fc0a09338cf434"),
"address" : {
"building" : "97-22",
"coord" : [
-73.8601152,
40.7311739
],
"street" : "63 Road",
"zipcode" : "11374"
},
"borough" : "Queens",
"cuisine" : "Jewish/Kosher",
"grades" : [
{
"date" : ISODate("2014-11-23T17:30:00.000-06:30"),
"grade" : "Z",
"score" : 20
},
{
"date" : ISODate("2013-01-16T17:30:00.000-06:30"),
"grade" : "A",
"score" : 13
},
{
"date" : ISODate("2012-08-01T17:30:00.000-06:30"),
"grade" : "A",
"score" : 13
},
{
"date" : ISODate("2011-12-14T17:30:00.000-06:30"),
"grade" : "B",
"score" : 25
},
........
.......
.......
{
"date" : ISODate("2011-12-14T17:30:00.000-06:30"),
"grade" : "AZZ",
"score" : 25
}, -- It reaches 15 MB
],
"name" : "Tov Kosher Kitchen",
"restaurant_id" : "40356068"
}
В этом документе "сорта", поданные это встроенный массив документа. Этот массив достигнет максимального размера документа формата mongodb 16Mb. Итак, теперь мы находимся в ситуации, чтобы изменить модель данных для этой коллекции. Я узнал, что в mongoDb мы можем хранить документы, которые превышают лимит по умолчанию 16mb, используя «gridfs». Я не могу найти ссылки, чтобы продемонстрировать это. Мне нужно хранить документы gridfs вместе с существующими полями в коллекции.
Вы, конечно, не хотите GridFS, как это просто инвентарь «двоичное» хранение данных в кусках (до 16 МБ) и интерфейс для хранения и извлечения этих данных в виде всего содержимого. Нет возможности «запрашивать» внутренний контент, как вы можете, с полями документа. Если ваши данные массива будут действительно «слишком большими», вам лучше хранить в другой коллекции. Но вопросы, которые вы действительно должны задавать себе, - это 1. Действительно ли это «действительно» будет слишком большим? Поскольку для достижения 16 МБ требуется много данных. 2. Нужно ли мне все-таки хранить все это? Или хватит ли совокупных итогов? –
Вы, кажется, пытаетесь ответить долго. Пожалуйста, скорее добавьте детали к своему вопросу и просто предупредите комментаторов об изменениях. Вы в основном не понимаете, что такое GridFS, поэтому я предлагаю прочитать некоторую документацию. Вы либо хотите отдельную коллекцию, либо пересмотреть то, что необходимо хранить, или это возможный реальный рост. –
Привет, Блэйкс Семь, Спасибо за обновление. отвечая на ваши вопросы 1. Неужели это «действительно» будет слишком большим? Поскольку для достижения 16 МБ требуется много данных: «Да». 2. Мне действительно нужно все это хранить? Или хватит ли совокупных итогов? : «Все нужно хранить таким образом». Так GridFs нельзя использовать в этом случае, что может быть альтернативной идеей? Новый сборник с присоединением к существующей коллекции является единственной альтернативой? или есть любой другой способ пойти .. Пожалуйста, совет – Root