MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB - mongofiles

Ами "обект на GridFS" в този контекст означава името на обекта, съхранен в колекциите на GridFS. Разликата може би се обяснява най-добре от -- локален опция на страницата с ръководството на mongofiles.

Това, което трябва да вземете предвид тук, е, че това, което сте направили, е да изпратите елементи с „същото“ име на файл с помощта на помощната програма mongofiles. Както е отбелязано в страницата с ръководство за тази помощна програма, поведението по подразбиране за put (вижте команди ) е да създадете нов запис в магазина. Това може да бъде заменено с --replace опция, така че всяко съществуващо съдържание да бъде намерено и презаписано с новото съдържание, което сте създали.

Накратко, независимо дали файловете съдържат различно съдържание или не, вие сте създали няколко неща с едно и също „Име на обект“. Що се отнася до помощната програма mongofiles, тя знае как да извлича само по „име на обект“, така че просто ще извлече първия, който намери, според своите правила.

Сега в повечето API реализации на GridFS действителният get операциите обикновено се извършват от _id . Всеки „Обект“, който сте създали по този начин, все още има свой собствен уникален _id стойност, така че когато това се приложи, можете да получите „Обекта“, който искате.

Някои реализации на API добавят допълнителни методи за тип заявка, за да се намери по „име на файл“ или друга информация за метаданни. Но най-вече те не се притесняват, тъй като това са наистина стандартни .find() или .findOne() операциите върху която и да е колекция съдържат метаданните за съдържанието и препратките (fs.files по подразбиране). Това осигурява повече от разумно количество начини за „намиране“ на определен обект и издаване на този _id стойност чрез get интерфейс на този API.

И така, докато mongofiles е хубава помощна програма за извършване на основни операции от типа CRUD от командния ред, тя е просто помощна програма, а не основната реализация на „как да го направя“. Така че като помощна програма, той предоставя "удобна" форма за настройка и получаване на обекти, използвайки частта "име на файл" от идентификатора на обекта.

Също така си струва да се отбележи, че трябва наистина третирайте хранилището на GridFS точно като файлова система и поддържайте вашите „имена на файлове“ уникални точно както би се изисквало във файлова система.

Но що се отнася до mongofiles помощна програма, "името" е всичко, което трябва да продължите, за да извлечете информация. Опитайте се да не правите това или вместо това наистина използвайте избрания от вас езиков API, за да свършите работата.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MomentJS не преобразува датата правилно

  2. Резултатът от заявката Mongoose .find съдържа метаданни на заявката? не можете просто ръчно да проектирате всяко свойство на колекцията, как да получите само документа?

  3. Почивка на данните за стартиране на Spring Boot, ограничението @Notnull не работи

  4. GAE не може да търси SRV запис за екземпляр на mongodb atlas

  5. MongoDb близо/geonear заявка с променливо разстояние